Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

błąd , jestem początkujący

Ostatnio zmodyfikowano 2010-11-06 21:13
Autor Wiadomość
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

C/C++
#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 ]; //liczy sumę elementów
       
    }
    if( max < a[ i ]
    {
        max = a[ i ] // liczy element maksymalny
    }
    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 ; )
P-23601
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
P-23604
ison
» 2010-11-06 15:32:54
w tej linijce:
C/C++
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
C/C++
if( max < a[ i ]
zabrakło ci ')'
P-23605
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 : )
P-23606
ison
» 2010-11-06 18:20:49
było już wcześniej powiedziane że main musi zwracać int ;)
C/C++
int main()
a nie
C/C++
main()

powinieneś używać
C/C++
#include <iostream>
#include <ctime>
zamiast
C/C++
#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
C/C++
max = tablica;
powinieneś pisać
C/C++
max = tablica[ i ];

rzeczy takie jak cout,cin są w przestrzeni nazw std więc musisz albo użyć
C/C++
using namespace std;
albo przy każdym coucie i endlu dopisać std::
przykładowo:
C/C++
std::cout
P-23607
michalp
» 2010-11-06 18:31:19
main musi być int

Biorąc pod uwagę wsteczną kompatybilność z C - main() (w tym przypadku, bo pominięto zwracany typ) zwraca int.
P-23608
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
P-23609
ison
» 2010-11-06 20:07:13
pisząc tę wiadomość zrozumiałem o co ci chodzi pekfos ;) masz racje
P-23615
« 1 » 2
  Strona 1 z 2 Następna strona