Tymek Temat założony przez niniejszego użytkownika |
błąd , jestem początkujący » 2010-11-06 13:47:13 A , więc mam zrobić program tablicy 1 wymiarowej liczący sumę elementów i element maksymalny
#include <iostream.h> #include<time.h>
main() { srand( time( 0 ) ); float a[ 10 ], s = 0, max = 0,; for( int i = 0; i < 10; i++ ) { s = s + a[ i ]; } if( max < a[ i ] { max = a[ i ] } cout << "Suma wszystkich elementow:" << s << endl; cout << "Element maksymalny:" << max << endl; system( "pause" ); }
Błędy
14 `tablica' undeclared (first use this function)
14 name lookup of `i' changed for new ISO `for' scoping
9 using obsolete binding at `i'
15 expected `)' before '{' token
Proszę o wyjaśnienie bardziej amatorskim językiem z racji tego że jestem początkujący żebym zrozumiał gdzie popełniłem błąd i nadrobił to ; ) |
|
pekfos |
» 2010-11-06 14:53:59 1. main musi być int 2. używaj ctime a nie time.h 3. nie inicjalizujesz tablicy. będą w niej śmieci 4. blok if powinien być w bloku for, używasz zmiennej lokalnej, już nie istniejącej |
|
ison |
» 2010-11-06 15:32:54 w tej linijce: float a[ 10 ], s = 0, max = 0,;
nie powinno być tego przecinka przed średnikiem skompiluje się ale raczej nie powinno się czegoś takiego robić 15 expected `)' before '{' token
|
czego tu nie rozumieć? już prościej się tego nie da napisać ;) w 15 linijce zabrakło ci ')' |
|
Tymek Temat założony przez niniejszego użytkownika |
» 2010-11-06 18:10:03 #include <iostream.h>
main() { int tablica[10] = {0 ,1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }, s=0, max=0 ; for(int i=0;i<10; i++) { s = s + tablica; //liczy sumę elementów if (max < tablica) max= tablica; // liczy element maksymalny } cout<<"Suma wszystkich elementow:"<<s<< endl ; cout <<"Element maksymalny:"<<max<<endl ;
system("pause");
}
dziękuje za pomoc wszystko działa : ) |
|
ison |
» 2010-11-06 18:20:49 było już wcześniej powiedziane że main musi zwracać int ;) a nie powinieneś używać #include <iostream> #include <ctime>
zamiast #include <iostream.h> #include <time.h>
ten Twój kod w ogóle się u Ciebie kompiluje? raz używasz zmiennej jako tablicę a raz jako zwykłą zmienną więc zamiast powinieneś pisać rzeczy takie jak cout,cin są w przestrzeni nazw std więc musisz albo użyć albo przy każdym coucie i endlu dopisać std:: przykładowo: |
|
michalp |
» 2010-11-06 18:31:19
Biorąc pod uwagę wsteczną kompatybilność z C - main() (w tym przypadku, bo pominięto zwracany typ) zwraca int. |
|
pekfos |
» 2010-11-06 18:35:51 ten Twój kod w ogóle się u Ciebie kompiluje? raz używasz zmiennej jako tablicę a raz jako zwykłą zmienną więc zamiast C/C++ max = tablica; powinieneś pisać C/C++ max = tablica[ i ];
|
pragnę zauważyć że [i] zostało zamienione na kursywę. czyli tam było |
|
ison |
» 2010-11-06 20:07:13 pisząc tę wiadomość zrozumiałem o co ci chodzi pekfos ;) masz racje |
|
« 1 » 2 |