adam_M Opublikowano 9 Czerwca 2004 Zgłoś Opublikowano 9 Czerwca 2004 Witam .. mam taki dylemat .. mam za zadanie utworzyc tablice jednowymiarową aby wartośsci były : a1=1 a2=0 a3=3 a4=0 itd .. czyli parzysty zero nieparzysty wartość zrobiłem cos takiego : int tab[10];void main(){ for (int i=0;i<11;i++) tab[i]=i; for (int i=0;i<11;i++) if(i%2!=0) cout << tab[i]<<endl; else cout <<"0"<<endl; getch();} i faktycznie wypisuje 1 0 3 0 5 0 7 0 9 ale obawiam sie ze to zero to nie wartosc tablicy .. ale po prostu .. nie wiem "znak jakis" .. i nie wiem jak zrobic zeby wartosc co drugiego była zero ... jak daje w tym miejscu tab=0 to wyskakują 1 3 7 9 prosze o pomoc :) w tym kodzie :) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
kenji Opublikowano 9 Czerwca 2004 Zgłoś Opublikowano 9 Czerwca 2004 po pierwsze deklarujesz tablice 10 elementow a w petli for krokow jest 11: od 0 do i<11 czyli 10 to daje 11 wartosci, to czesty blad, zaraz sie zajme reszta for (int i=0;i<11;i++) tab[i]=i;wpisuje ci do tablicy wartosci od 0 do 10, powinno byc oczywiscie do 9. wiec juz jest nie tak, powinien wpisywac to co chcesz na poczatku for(int i=0;i<9;i++){tab[i]=i+1;tab[++i]=0;}napisz czy dziala bo nie chce mi sie sprawdzac Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 9 Czerwca 2004 Zgłoś Opublikowano 9 Czerwca 2004 #include <iostream>using namespace std;int main() { int tab[10]; for (int i=0;i<10;i++) tab[i]=(i%2==0)?0:i; for (int i=0;i<10;i++) cout << tab[i]<<endl; cin.get(); return 0;} Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
kenji Opublikowano 9 Czerwca 2004 Zgłoś Opublikowano 9 Czerwca 2004 fido widze ze tez lubisz sobie popisac :) gdzie studiujesz -> dobra to zobaczylem, na ktorym roku? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
adam_M Opublikowano 9 Czerwca 2004 Zgłoś Opublikowano 9 Czerwca 2004 czesc FIDO .. mam prosbe moglbys mi wyjasnic co to oznacza : tab[i]=(i%2==0)?0:i; dokladnie mi chodzi o ten pytajnik a nawet cały wiersz bo ciut nie kumam wartosc tablicy jest równa 0 przy i gdy reszta z dzielenia jest zero ? czy dobrze rozumuje ? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ParanoiK Opublikowano 9 Czerwca 2004 Zgłoś Opublikowano 9 Czerwca 2004 if(warunek)? co jeśli prawda : co jeśli fałsz; Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 10 Czerwca 2004 Zgłoś Opublikowano 10 Czerwca 2004 fido widze ze tez lubisz sobie popisac :)Jak mam taki kaprys to lubie ;] gdzie studiujesz -> dobra to zobaczylem, na ktorym roku?na 2 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
adam_M Opublikowano 10 Czerwca 2004 Zgłoś Opublikowano 10 Czerwca 2004 mam kolejne pytanko ... bo cos mnie zaskoczylo zadeklarowalem tablice powyzej funkcji main ... : int tab[10];main(){ for (int i=1;i<=10;i++) if (i%2!=0) tab[i]=i; for (int i=1;i<=10;i++) cout << tab[i]<<endl; getch();} i wyskoczylo 1 0 3 0 5 0 7 ... czyli tak jak chcialem potem odwrocilem int tab[10]; main() { for (int i=0;i<11;i++) tab[i]=i; for (int i=0;i<11;i++) if(i%2!=0) cout << tab[i]<<endl; getch(); } i wyszlo 13579 czyli nieparzyste ... moglby mi ktos wyjasnic .. co program robi zmieniajac ifa z przodu na koniec ? i co to dalo ze deklaracja tablicy jest powyzej funkcji main ? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 10 Czerwca 2004 Zgłoś Opublikowano 10 Czerwca 2004 i wyszlo 13579 czyli nieparzyste ... moglby mi ktos wyjasnic .. co program robi zmieniajac ifa z przodu na koniec ? Ano bardzo duzo sie zmieni. Nie wiem czemu ale w ogole troche zle robisz wciecia. Jakby zrobic je tak: int tab[10] = {0};main(){ for (int i=1;i<10;i++) if (i%2!=0) tab[i]=i; for (int i=1;i<10;i++) cout << tab[i]<<endl; getch();}Teraz lepiej widac, ze sa to 2 osobne for'y, pierwszy wypelnia tablice odpowiednimi liczbami i tutaj if sluzy odpowiedniemu jej wypelnieniu. W nastepnym przykladzie: int tab[10]; main() { for (int i=0;i<10;i++) tab[i]=i; for (int i=0;i<10;i++) if(i%2!=0) cout << tab[i]<<endl; getch(); }To juz jest zupelnie co innego... Najpierw wypelniasz tablice liczbami (liczba taka jaki indeks w tablicy) a potem w petli wyswietlajacej stosujesz if'a zeby wyswietlic tylko nieparzyste. Pozatym poprawilismy Cie, ze miales zle warunek zakonczenia petli i znowu masz ten blad! Tablica 10 elementowa ma indeksy od 0 do 9, a nie do 10, jak by wynikalo z Twoich kodow. i co to dalo ze deklaracja tablicy jest powyzej funkcji main ?Ano tyle, ze teraz jest to zmienna globalna, a nie lokalna (dla funkcji main). Jesli jest "na zewnatrz" to jest ona tez widoczna z zadeklarowanych przez Ciebie funkcji, natomiast wersja "wewnatrz" jest widoczna tylko w main'ie. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
adam_M Opublikowano 12 Czerwca 2004 Zgłoś Opublikowano 12 Czerwca 2004 dziekuje wam za pomoc :D udalo mi siem zdac w koncu tego c++ .. jusz wiecej wam nie bede zawracal czachy w tej materii ... pozdrawiam :) ps. aa dostalem zadanko : napisac tablice : 1 0 0 0 0 0 0 2 0 0 0 0 0 0 3 0 0 0 0 0 0 4 0 0 0 0 0 0 5 0 0 0 0 0 0 6 int tab[6][6];void main(){ for (int i=0;i<6;i++) for (int j=0;j<6;j++) if(i==j) tab[i][j]=i+1; for (int i=0;i<6;i++) { for (int j=0;j<6;j++) cout << tab[i][j]<<" "; cout<<endl; } getch();} a drugie :) 0 0 0 0 0 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0 4 0 0 0 0 5 0 0 0 0 6 0 0 0 0 0 inny warunek :) if(i==5-j) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...