Pętla while sama zwiększa wartość zmiennej
Ostatnio zmodyfikowano 2014-09-20 09:12
browar777 Temat założony przez niniejszego użytkownika |
Pętla while sama zwiększa wartość zmiennej » 2014-09-19 19:47:13 Witam,natknołem się ostatnio na jedną żecz której nie moge zrozumieć.po wyświetleniu tablic i wyjściu z switch case program wraca na sam początek petli while,i tu zaczyna sie proble,nie dośc że sam zwiększa wartość wartość y o 1, to na dodatke wyświetla dwa razy cout przed pobraniem znaku. Prosze o pomoc. #include <iostream> #include <string> #include <cstdlib> #include <stdio.h> using namespace std;
int y = 0, ile = 1, warunek = 1; char x;
int main() { int * wsk = & ile; int * tab = new int[ ile ]; while( true ) { cout << "wartosc ile wynosi : " << ile << endl; cout << "wartosc y wynosi : " << y << endl; getchar(); for( y; y < ile; y++ ) { cout << "wczytaj element do tablicy : "; cin >> tab[ y ]; cout << "co teraz ? "; cin >> x; switch( x ) { case 'z': * wsk += 1; break; case 'w': for( int i = 0; i < ile; i++ ) { cout << "wartosc (" << i + 1 << ") tablicy wynosi :" << tab[ i ] << endl; } cout << "wartosc ile wynosi : " << ile << endl; cout << "wartosc y wynosi : " << y << endl; break; } } } return 0; } |
|
SeaMonster131 |
» 2014-09-19 20:03:09 Sam zwiększa wartość Y o 1? A to co? :) 2 razy wyświetla napisy, w takim przypadku: cout << "wartosc ile wynosi : " << ile << endl; cout << "wartosc y wynosi : " << y << endl;
case 'w':... cout << "wartosc ile wynosi : " << ile << endl; cout << "wartosc y wynosi : " << y << endl; break;
|
|
browar777 Temat założony przez niniejszego użytkownika |
» 2014-09-19 21:57:57 sam zwiększa wartość jeszcze przed wywołaniem pentli for (gdzie jest ikrementacja y).natomist napis wyświtla dwukrotnie z jendą zmienną co dokładnie daje 4 wywołanie. na oko wszytko wydaj się być dobrze,dopiero po skompilowanie dzieje się coś czego nie mogę zrozumieć |
|
Mateus. |
» 2014-09-19 22:13:16 @up Ty tak normalnie piszesz, czy trollujesz? |
|
browar777 Temat założony przez niniejszego użytkownika |
» 2014-09-19 22:29:44 nie troluje,poważnie mam z tym problem |
|
Monika90 |
» 2014-09-19 22:47:11 chyba zmiast tego for( y; y < ile; y++ ) powinno być for( y = 0; y < ile; y++ )
|
|
browar777 Temat założony przez niniejszego użytkownika |
» 2014-09-19 23:57:36 chyba juz znalazłem rozwiązanie,dzięki. |
|
Mateus. |
» 2014-09-20 09:12:43 @browar777 miałem na myśli pisownię |
|
« 1 » |