[Algorytmy] Znajdź błąd i podaj w której jest linijce

aolo23
Użytkownik
Użytkownik
Posty: 307
Rejestracja: 5 sty 2016, o 13:01
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 118 razy
Pomógł: 2 razy

[Algorytmy] Znajdź błąd i podaj w której jest linijce

Post autor: aolo23 »

Poniższy program sprawza czy liczba dodatnich i ujemnych elementów tablicy int t[n] dla (n >1) jest sobie równa.

Kod: Zaznacz cały

1. int licznik =0; int i =0;
2. while(i < n)
3.
4.   while(t[i] == 0 && i <  n)
5.      i = i + 1;
6.    if(i  <  n )
7.       if( t[i]  >  0) licznik++,  else licznik --;
8.     i = i + 1;
9. bool tyle_samo = (licznik == 0);     
Ostatnio zmieniony 25 sty 2018, o 00:18 przez Afish, łącznie zmieniany 2 razy.
Powód: Poprawa wiadomości.
Awatar użytkownika
leg14
Użytkownik
Użytkownik
Posty: 3132
Rejestracja: 5 lis 2014, o 20:24
Płeć: Mężczyzna
Lokalizacja: Radom
Podziękował: 154 razy
Pomógł: 475 razy

[Algorytmy] Znajdź błąd i podaj w której jest linijce

Post autor: leg14 »

dryga linijka
aolo23
Użytkownik
Użytkownik
Posty: 307
Rejestracja: 5 sty 2016, o 13:01
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 118 razy
Pomógł: 2 razy

[Algorytmy] Znajdź błąd i podaj w której jest linijce

Post autor: aolo23 »

Bo możemy wejść z n-1 do pierwszego while, a następnie w drugim while wyskoczymy poza rozmiar tablicy?
Awatar użytkownika
leg14
Użytkownik
Użytkownik
Posty: 3132
Rejestracja: 5 lis 2014, o 20:24
Płeć: Mężczyzna
Lokalizacja: Radom
Podziękował: 154 razy
Pomógł: 475 razy

[Algorytmy] Znajdź błąd i podaj w której jest linijce

Post autor: leg14 »

Nie. Przecież ten while Ci się nigdy nie uruchomi, bo inicjalizujesz na \(\displaystyle{ i =0}\)
aolo23
Użytkownik
Użytkownik
Posty: 307
Rejestracja: 5 sty 2016, o 13:01
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 118 razy
Pomógł: 2 razy

[Algorytmy] Znajdź błąd i podaj w której jest linijce

Post autor: aolo23 »

poprawka miało być tam "n"
A teraz?
Awatar użytkownika
leg14
Użytkownik
Użytkownik
Posty: 3132
Rejestracja: 5 lis 2014, o 20:24
Płeć: Mężczyzna
Lokalizacja: Radom
Podziękował: 154 razy
Pomógł: 475 razy

[Algorytmy] Znajdź błąd i podaj w której jest linijce

Post autor: leg14 »

To na pewno powinieneś zamienić

Kod: Zaznacz cały

while(t[i] == 0 && i <  n)
na

Kod: Zaznacz cały

while(i <  n&& t[i] == 0 )
ODPOWIEDZ