Loodwin Temat założony przez niniejszego użytkownika |
[Kurs C++, Lekcja 22] Nie potrafię zrobić (drugiego) zadania domowego » 2011-07-28 17:37:58 Witam! Jak zrobić drugie zadanie domowe w Lekcji 22? Myślałem nad tym godzinę i tylko to mam: #include <iostream> #include <cstdlib> #include <ctime> #include <conio.h>
using namespace std;
int wpisz( int tab[], int ile ) { for( int indeks; indeks < ile; indeks++ ) { int licznik; if( licznik == 0 ) { tab[ licznik ] += 1; } else { tab[ licznik ] =( tab[ licznik-- ] + 5 ); licznik++; } } }
int main() { int tablica[ 20 ]; wpisz( tablica, 20 ); int licznik; for( int indeks; indeks < 20; indeks++ ) { cout << tablica[ licznik ] << endl; licznik++; } getch(); return 0; } |
|
m4tx |
» 2011-07-28 17:51:55 for( int indeks; indeks < ile; indeks++ ) { int licznik; if( licznik == 0 ) { tab[ licznik ] += 1; } else { tab[ licznik ] =( tab[ licznik-- ] + 5 ); licznik++; } } Zastanawiam się, po co Ci tam ta zmienna licznik, gdzie ją inicjalizujesz i dlaczego myślisz, że w każdej iteracji pętli jej wartość zostanie, oraz po co tam jest ten if... a na dodatek ( tab[ licznik-- ] + 5 ) jakoś mi nie pasuje z: Siadaj, pała. Jak zrobić drogie zadanie domowe w Lekcji 22? |
Weź to popraw, bo aż razi w oczy :/ |
|
Loodwin Temat założony przez niniejszego użytkownika |
Takie coś... » 2011-07-28 18:04:27 Takie coś wymyśliłem i działa źle dalej: #include <iostream> #include <cstdlib> #include <ctime> #include <conio.h>
using namespace std;
int wpisz( int tab[], int ile ) { for( int indeks = 0; indeks < ile; indeks++ ) { tab[ indeks ] +=+ 5; } }
int main() { int tablica[ 20 ]; wpisz( tablica, 20 ); for( int indeks; indeks < 20; indeks++ ) { cout << tablica[ indeks ] << endl; } getch(); return 0; } |
|
m4tx |
» 2011-07-28 20:21:28 Hmmmm... Zastanów się, czy powyższy wzór zgadza się z Twoim... |
|
sync667 |
» 2011-07-29 13:27:10 #include <iostream> #include <cstdlib> #include <ctime>
using namespace std;
void rezultat( int tablica[], int m ) { for( int indeks = 0; indeks < m; indeks++ ) cout << "Tablica zawiera : " << tablica[ indeks ] << endl; }
void wypelnianieT( int tablica[], int m, int n ) { for( int indeks = 0; indeks < m; indeks++ ) { tablica[ indeks ] = n; n += 5; } }
int main() { int tablica[ 20 ]; wypelnianieT( tablica, 20, 1 ); rezultat( tablica, 20 ); } luknij i przeanalizuj |
|
m4tx |
» 2011-07-29 13:45:06 @up lol, po co tyle kombinowania? W kodzie Loodwina wystarczy zmienić jedną linijkę... Zapoznaj się z zasadą KISS...
Poza tym, dajesz mu gotowy kod, z którego nic nie będzie wiedział. On powinien sam do tego dojść. Naszym zadaniem jest dać wędkę, a nie rybę. |
|
Loodwin Temat założony przez niniejszego użytkownika |
Czyli... » 2011-07-29 15:14:25 M4tx czyli, którą linijkę? 14? I jak ją poprawić. |
|
DejaVu |
» 2011-07-29 15:19:43 @up: taką, która wydaje Ci się, że jest zła :) Jaki jest sens zadania domowego skoro chcesz by za Ciebie zostało rozwiązane? Jak nie odrobisz samemu zadania z matematyki w którym trzeba policzyć 2 + 3 to nie będziesz umiał później liczyć. |
|
« 1 » 2 |