Wzorki, pętle zagnieżdżone
Ostatnio zmodyfikowano 2017-11-22 17:57
Bercik97 Temat założony przez niniejszego użytkownika |
Wzorki, pętle zagnieżdżone » 2017-11-22 15:39:52 Mam napisać taki wzorek, ktoś wie co trzeba zrobić w tym kodzie żeby był taki wzorek? A BC DEF GHIJ KLMNO PQRSTU Zmieniałem ten kod na różne sposoby, robiłem to na kartce iteracja po iteracji i nie rozumiem dlaczego mi nie wyświetla tego poprawnie, proszę o pomoc #include <stdio.h> #include <stdlib.h>
int main() { char litery[ 27 ] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int i, j; for( i = 0; i <= 20; i++ ) { for( j = 0; j <= i; j++ ) printf( "%c", litery[ j ] ++ ); printf( "\n" ); } getch(); return 0; }
edit: Myślałem może że jakoś to z 'if' zrobić ale jaki wtedy warunek |
|
carlosmay |
» 2017-11-22 16:34:12 Nie masz tyle znaków w tablicy, żeby iterować w pierwszej petli dwadzieścia razy.
Zacznij iterowanie obu pętli od 1.
Nie potrzebujesz tablicy, bo wystarczy inkrementować wartość zmiennej przedstawiającej kod z tabeli ASCII. |
|
Bercik97 Temat założony przez niniejszego użytkownika |
» 2017-11-22 16:38:13 Wiem że nie potrzebuje tablicy i mogę to zrobić z tablicy ascii ale to nic nie zmienia, dalej wyświetla mi tak samo. |
|
carlosmay |
» 2017-11-22 16:46:56 Próbowałeś iterować w pętlach od 1? Przydałoby się zabezpieczyć przed czytaniem znaków spoza tablicy. No i printf( "%c", litery[ k++ ] ); plus definicja zmiennej k przed pętla z wartością 0; https://ideone.com/HTLZ1v |
|
Bercik97 Temat założony przez niniejszego użytkownika |
» 2017-11-22 16:59:54 Działa :) Tylko nie rozumiem co ta zmienna k robi, da się jakoś ten kod zwięźlej/ładniej napisać? #include <stdio.h> #include <stdlib.h>
int main() { char litery[ 27 ] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int i, j, k = 0; for( i = 0; i <= 20; i++ ) { for( j = 0; j <= i; j++ ) printf( "%c", litery[ k++ ] ); if( litery[ k ] == 'V' ) { printf( "\n" ); system( "PAUSE" ); exit( 0 ); } printf( "\n" ); } return 0; }
edit: Dobra już ogarnąłem co ta zmienna k ma robić :) takie proste a nie wpadłem na to |
|
Bercik97 Temat założony przez niniejszego użytkownika |
» 2017-11-22 17:03:19 Ps. jak zaczynam iteracje od 1 a nie od 0, to program zaczyna mi od litery 'B', więc jest dobrze gdy zaczynam iteracje od 0 bo wtedy wypisuje mi na początku 'A' |
|
carlosmay |
» 2017-11-22 17:30:32 Nie chodzi o zmienną k tylko o liczniki pętli. W sumie to nie ma znaczenia. Zmyliłem się <=. Rzadko stosuję. |
|
nanoant20 |
» 2017-11-22 17:45:41 Off-topic
@Bercik97 na forum "Pozostałe tematy" pod tematem "konfiguracja Code::Blocks'a pod Windows" znajdziesz rozwiązanie dlaczego funkcja pow() Ci nie działała. Umieściłem to ponieważ zamknołeś temat "Suma kwadratów kolejnych liczb C" i nie miałem jak napisać. |
|
« 1 » 2 |