Skocz do zawartości

Kilka błędów z tablicami w C++


47xxxxxxxx

Rekomendowane odpowiedzi

Mam pętle...:

     for( int i = 0; i < numberCount; i++; )
     {
         double number[i];
         cout << "Podaj wartość " << i << "liczby: ";
         cin >> number[i];

... i 4 błędy:

Pierwszy błąd to średnik w linijce pierwszej, ale nie wiem gdzie go wstawić lub usunąć.

Trzy ostatne błędy są w linijce double number[1];:

1>l:\documents and settings\l\moje dokumenty\visual studio 2008\projects\calc++\calc++\main.cpp(16) : error C2059: syntax error : ';'
1>l:\documents and settings\l\moje dokumenty\visual studio 2008\projects\calc++\calc++\main.cpp(18) : error C2057: expected constant expression
1>l:\documents and settings\l\moje dokumenty\visual studio 2008\projects\calc++\calc++\main.cpp(18) : error C2466: cannot allocate an array of constant size 0
1>l:\documents and settings\l\moje dokumenty\visual studio 2008\projects\calc++\calc++\main.cpp(18) : error C2133: 'number' : unknown size

Odnośnik do komentarza
Udostępnij na innych stronach

1.

for( int i = 0; i < numberCount; i++)

Czyli bez ostatniego średnika

 

2.

Nie mam pojęcia

 

3.

Nie można stworzyć tablicy o rozmiarze 0.

Gdy i jest równe zero to ty próbujesz

double number[0];

 

4.

Głowy sobie uciąć nie dam, ale jak ten wyżej poprawisz to to też pewnie będzie dobrze.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

double number[numberCount];
for( int i = 0; i < numberCount; i++ )
{
      cout << "Podaj wartość " << i << "liczby: ";
      cin >> number[i];
}

 

Moim skromnym zdaniem. Albo to bedzie jakaś tymczasowa tablica inaczej.

Odnośnik do komentarza
Udostępnij na innych stronach

lol W ogóle nie rozumiem tych tablic. Tablice w C++ są tak np.:

tablica = {

345, 678, 789,

456, 768, 098,

243, 765, 135

}

czy tak:

tablica[0,0] = 345

tablica[1,0] = 678

tablica[2,0] = 789

tablica[0,1] = 456

tablica[1,1] = 768

tablica[2,1] = 098

tablica[0,2] = 243

tablica[1,2] = 765

tablica[2,2] = 135

 

EDIT:Lepiej dam cały kod:

GML
#include <iostream>

#include <math.h>

using namespace std;

int main()

{

float numberCount = 0;

cout << "Podaj ilość liczb w działaniu: ";

cin >> numberCount;

numberCount = ceil(numberCount);

if (numberCount < 2)

{

cout << "Ilość liczb w działaniu musi być większa od 1.";

system("cls");

main();

}

 

for( int i = 1; i < numberCount; i++ )

{

 

cout << "Podaj wartość " << i << "liczby: ";

cin >> number;

Odnośnik do komentarza
Udostępnij na innych stronach

#include <iostream>
#include <math.h>
using namespace std;
int main()
{
     float numberCount = 0;
     cout << "Podaj ilość liczb w działaniu: ";
     cin >> numberCount;
     numberCount = ceil(numberCount);
     if (numberCount < 2)
     {
         cout << "Ilość liczb w działaniu musi być większa od 1.";
         system("cls");
         main();
     }
     
         double * costam=new double[numberCount];
     for( int i = 1; i < numberCount; i++ )
     {
         
         cout << "Podaj wartość " << i << "liczby: ";
         cin >> costam[i];
//robisz cos tam
         }

//zwalniasz pamiec 
delete [] costam;

Odnośnik do komentarza
Udostępnij na innych stronach

Tak myśląc logicznie to StrToFloat("2+2-4") nie zadziała tak jakbyś tego oczekiwał.

 

napisz sobie własną funkcje:

 

 

std::stringstream g_StringStream;

 

float StrToFloat(const string&s1)

{

 

g_StringStream<<s1.c_str();

float l=0;

g_StringStream>>l;

if(!g_StringStream)

{

g_StringStream.clear();

return -1;

}

 

 

return l;

}

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...