• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Prosze o wytłumaczenie prostego kodu

VPS Starter Arubacloud
0 głosów
219 wizyt
pytanie zadane 25 lutego 2017 w C i C++ przez Aleksander Początkujący (360 p.)
edycja 25 lutego 2017 przez Aleksander

wytłumaczcie mi jakim prawem ten program działa ?

niby zarezerwowane są tylko dwa miejsca na losową liczbę a wyświetla sie 10.

nie rozumiem też przypadku : los[9]; ponieważ wtedy ostatni wynik który się wypisze będzie bardzo mały.

(wiem ze wszystko będzie działać gdy będzie: los[10];)

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <windows.h>
using namespace std;
int i,los[2],wynik;
int main()
{
    srand( time( NULL ) );
    do
    {
        los[i]=rand()%7+4;

        cout<<i<<"."<<los[i]<<endl;

        wynik=wynik+los[i];
        cout<<"tu jest wynik:"<<wynik<<endl;

        i++;
//Sleep(1000);
    }   while(i<10);

//cout<<"tu jest wynik:"<<wynik;

    return 0;
}

 

2 odpowiedzi

0 głosów
odpowiedź 25 lutego 2017 przez Patrycjerz Mędrzec (192,320 p.)

niby zarezerwowane są tylko dwa miejsca na losową liczbę a wyświetla sie 10.

Jak dwa miejsca? Przecież istnieje tablica 10-elementowa.

nie rozumiem też przypadku : los[9]; ponieważ wtedy ostatni wynik który się wypisze będzie bardzo mały.

Tego już wcale nie rozumiem. Przecież ten program losuje do kolejnych komórek tablicy liczby z zakresu od 4 do 10 i dodaje je do zmiennej wynik, która zawiera sumy wszystkich liczb wylosowanych wcześniej.

komentarz 25 lutego 2017 przez Aleksander Początkujący (360 p.)
sory zły kod

teraz jest tablica 2-elementowa i program nadal działa poprawnie
komentarz 25 lutego 2017 przez Patrycjerz Mędrzec (192,320 p.)

W takim przypadku występuje przepełnienie bufora, którego działanie język już nie definiuje (undefined behavior).

0 głosów
odpowiedź 25 lutego 2017 przez czujek22 Dyskutant (7,670 p.)
Albo wkleiłeś zły kod albo trochę źle to wytłumaczyłeś.

losuje 10 po jest pętla i<10 i tablica 10 elementowa

Podobne pytania

0 głosów
2 odpowiedzi 249 wizyt
pytanie zadane 19 lipca 2017 w C i C++ przez barti22062 Początkujący (370 p.)
0 głosów
1 odpowiedź 515 wizyt
0 głosów
1 odpowiedź 184 wizyt
pytanie zadane 26 lutego 2017 w C# przez Kamil Musial Początkujący (250 p.)

93,005 zapytań

141,971 odpowiedzi

321,249 komentarzy

62,341 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...