47xxxxxxxx Opublikowano 3 Sierpnia 2009 Opublikowano 3 Sierpnia 2009 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
Platyna Opublikowano 3 Sierpnia 2009 Opublikowano 3 Sierpnia 2009 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.
Snake Opublikowano 3 Sierpnia 2009 Opublikowano 3 Sierpnia 2009 Rozmiar tablicy number musi być stały (zmienna lokalna). Jeśli chcesz zmienny rozmiar to alokuj tą tablicę dynamicznie.
Will Opublikowano 3 Sierpnia 2009 Opublikowano 3 Sierpnia 2009 double number; ee co to jest? 0o to jest statyczna tablica nie dynamiczna jak chcesz dynamiczną double*d=new double;
Administratorzy gnysek Opublikowano 3 Sierpnia 2009 Administratorzy Opublikowano 3 Sierpnia 2009 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.
47xxxxxxxx Opublikowano 3 Sierpnia 2009 Autor Opublikowano 3 Sierpnia 2009 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;
Will Opublikowano 3 Sierpnia 2009 Opublikowano 3 Sierpnia 2009 #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;
47xxxxxxxx Opublikowano 3 Sierpnia 2009 Autor Opublikowano 3 Sierpnia 2009 Dzięki, kod Willa działa tylko mam 2 mini-pytanka: Czy jak dam kod: float wynik = StrToFloat("2+2-4") to wyświetli się liczba 0? W którym headerze jest funkcja StrToFloat?
Konrad-GM Opublikowano 3 Sierpnia 2009 Opublikowano 3 Sierpnia 2009 1. Tak. 2. Tak. 3. Gdzieś w http://www.cplusplus.com/reference/clibrary/cstdlib/ Lecz polecam użyć streamów
Will Opublikowano 3 Sierpnia 2009 Opublikowano 3 Sierpnia 2009 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; }
Administratorzy gnysek Opublikowano 3 Sierpnia 2009 Administratorzy Opublikowano 3 Sierpnia 2009 tablica[3] = {345, 678, 789} to jest inaczej: tablica[0] = 345 tablica[1] = 678 tablica[2] = 789 a nie to co Ty napisałeś.
47xxxxxxxx Opublikowano 4 Sierpnia 2009 Autor Opublikowano 4 Sierpnia 2009 Mam 2 ostatnie(chyba) pytanka: Co wpisać w argumentach funkcji atoi? Jak naprawić błąd: line 21: conversion from 'float' to 'unsigned int', possible loss of data ?
Administratorzy gnysek Opublikowano 4 Sierpnia 2009 Administratorzy Opublikowano 4 Sierpnia 2009 To nie jest czasem Warning a nie Error? Konwertujesz FLOAT (zmiennoprzecinkową) do INT (całkowitej), więc stracisz części dziesiętne (i bodaj zostanie zaokrąglona w dół).
Egzekutor Opublikowano 4 Sierpnia 2009 Opublikowano 4 Sierpnia 2009 Zawsze zaokrągla w dół przez domniemanie. Nawet jeśli masz liczbę 6.9 to zaokrągli do 6
47xxxxxxxx Opublikowano 4 Sierpnia 2009 Autor Opublikowano 4 Sierpnia 2009 Dobra warninga usunąłem, tylko czy wiecie jakie argumenty trzeba wpisać w funkcji atoi?
Kofel Opublikowano 4 Sierpnia 2009 Opublikowano 4 Sierpnia 2009 Pierwszy wynik w google idioto: http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/
Will Opublikowano 4 Sierpnia 2009 Opublikowano 4 Sierpnia 2009 http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/ Nie powinieneś zadawać takich pytań wystarczy trochę się postarać.
Crackkk-GM Opublikowano 4 Sierpnia 2009 Opublikowano 4 Sierpnia 2009 http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/ Nie powinieneś zadawać takich pytań wystarczy trochę się postarać. Nawet trochę się nie trzeba męczyć <_< BTW. przeczytaj se kurs C++ DOKŁADNIE.
47xxxxxxxx Opublikowano 4 Sierpnia 2009 Autor Opublikowano 4 Sierpnia 2009 lol Pomyliło mi się napisałem atoi zamiast itoa lol Czytałem tam o funkcji itoa ale rozumiem tylko pierwszy argument.
Kofel Opublikowano 4 Sierpnia 2009 Opublikowano 4 Sierpnia 2009 Co tu nie rozumieć? Drugi argument to wskaźnik na string. lolol trzeci od tego jak ma reprezentować inta
Rekomendowane odpowiedzi
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ę