[C++] Normalizacja liczb
Ostatnio zmodyfikowano 2012-11-03 19:33
blogther Temat założony przez niniejszego użytkownika |
[C++] Normalizacja liczb » 2012-11-03 15:17:16 moj program ma dokonac normalizacji liczb wprowadzonych do tabeli jednak program nie chce sie skompilowac moze ktos wskazac mi gdzie mam błąd oraz powiedziec czy moj kod jest poprawny.
#include <cstdlib> #include <iostream> #include <math.h>
using namespace std;
int main( int argc, char * argv[] ) { int i, n; int tab[ i ], max, min; cout << "Podaj ilosc liczb ciagu, a nastepnie program dokona normalizacji wprowadzonych liczb do przedzialu [0;1]." << endl; cout << "Podaj ilosc liczb ciagu: "; cin >> n; for( int i = 0; i < n; i++ ) { cout << "Liczba nr " << i + 1 << ": "; cin >> tab[ i ]; } max = tab[ 0 ]; min = tab[ 0 ]; if( tab[ i ] > max ) { max = tab[ i ]; } if( tab[ i ] < min ) { min = tab[ i ]; } } cout << "Maksymalna wartosc ciagu wynosi: " << max << endl; cout << "Minimalna wartosc ciagu wynosi: " << min << endl; cout << "\nProgram dokonuje normalizacji podanych liczb do przedzialu [0;1]." << endl; cout << "Liczby po normalizaji:" << endl; for( int i = 0; i < n; i++ ) { cout << "Liczba nr " << i + 1 << ": " << tab[ i ] - min /( max - min ) << endl; } system( "PAUSE" ); return EXIT_SUCCESS; }
|
|
cyklopek11 |
» 2012-11-03 15:38:11 W tym miejscu o którym informuje kompilator: ISO C++ forbids variable length array 'tab'
|
|
wojownik266 |
» 2012-11-03 15:45:43 Pobaw się też nawiasami klamrowymi " } ".Jak na moje oko są źle rozmieszczone. |
|
blogther Temat założony przez niniejszego użytkownika |
» 2012-11-03 15:52:57 okey faktycznie o jeden nawias za duzo ale jak teraz skompiluje to program sie uruchamia i zaraz wyskakuje brak odpowiedzi i konczy prace a jeszcze jedna istotna rzecz w oknie programu nic sie nie wyświetla. |
|
SeaMonster131 |
» 2012-11-03 15:54:57 int i, n; int tab[ i ], max, min;
Tworzysz tablicę o wielkości takiej, jaka jest wartość zmiennej i, czyli w tym wypadku jakiś śmieci. Dlatego może aplikacja się wywala. |
|
wojownik266 |
» 2012-11-03 15:59:40 Wydaje mi się jeszcze że używasz zmiennej "i" z pętli for które to i jest poza swoim zasięgiem. |
|
wojownik266 |
» 2012-11-03 16:01:16 Mam na myśli pierwszą od góry pętle for. |
|
blogther Temat założony przez niniejszego użytkownika |
» 2012-11-03 16:06:21 czyli co powinienem juz na samym poczatku okreslic liczbe wierszy tej tablicy ale skad mam wiedziec ile wyrazow ciagu poda uzytkownik np jezeli ja napisze ze ta tablica ma miec 10 wierszy a uzytkownik wpisze ze chce aby jego ciag zawierał 15 wyrazów?
wpisałem cos takiego:
int i, n; int tab[ 1000 ], max, min;
i program działa ale skad mam wiedziec ile tak naprawde wyrazow wprowadzi uzytkownik?
|
|
« 1 » 2 3 |