[C++] tablica stopni na radiany
Ostatnio zmodyfikowano 2016-01-02 15:35
WhitenNerdy Temat założony przez niniejszego użytkownika |
[C++] tablica stopni na radiany » 2016-01-02 03:09:27 Witam. Mam problem z programem do przeliczania tablicy stopni na radiany. Kompiluje się ale przy podaniu n = 10 program przestaje działać, przy n = 5 działa normalnie. Kod: #include <iostream> #include <stdlib.h> #include <time.h> #include <iomanip> #include <math.h>
using namespace std;
float tablica( float * tab, int & N ) { cout << "Podaj liczbe elementow: "; cin >> N; for( int i = 1; i <= N; i++ ) tab[ i ] =( rand() /( float ) RAND_MAX *(( M_PI * 2 ) - 0 ) + 0 ); }
float wypisz( float * tab, int N ) { cout << endl; for( int i = 1; i <= N; i++ ) cout << i << "= " << tab[ i ] << endl; }
float licz( float * tab, int N ) { for( int i = 1; i <= N; i++ ) tab[ i ] = tab[ i ] *( 180 / M_PI ); }
int main( int argc, char ** argv ) { int N = 0; float * tab = new float[ N ]; srand( time( NULL ) ); tablica( tab, N ); cout << "\nRadiany:\n"; wypisz( tab, N ); licz( tab, N ); cout << "\nStopnie:\n"; wypisz( tab, N ); return 0; system( "pause" ); }
|
|
mateczek |
» 2016-01-02 05:36:50 int N = 0; float * tab = new float[ N ];
Zadeklarowałeś tablice o zerowym rozmiarze !!! float tablica( float * tab, int & N ) { cout << "Podaj liczbe elementow: "; cin >> N; for( int i = 1; i <= N; i++ ) tab[ i ] =( rand() /( float ) RAND_MAX *(( M_PI * 2 ) - 0 ) + 0 ); }
No chyba że chciałeś zrobić tak !!! #include <iostream> #include <stdlib.h> #include <time.h> #include <iomanip> #include <math.h>
using namespace std;
float * tablica( int & rozmiar ) { cout << "Podaj liczbe elementow: "; cin >> rozmiar; float * tab = new float[ rozmiar ]; for( int i = 1; i <= rozmiar; i++ ) tab[ i ] =( rand() /( float ) RAND_MAX *(( M_PI * 2 ) - 0 ) + 0 ); return tab; }
void wypisz( float * tab, int N ) { cout << endl; for( int i = 1; i <= N; i++ ) cout << i << "= " << tab[ i ] << endl; }
void licz( float * tab, int N ) { for( int i = 1; i <= N; i++ ) tab[ i ] = tab[ i ] *( 180 / M_PI ); }
int main() { int N = 0; srand( time( NULL ) ); float * tab = tablica( N ); cout << "\nRadiany:\n"; wypisz( tab, N ); licz( tab, N ); cout << "\nStopnie:\n"; wypisz( tab, N ); delete[] tab; }
|
|
WhitenNerdy Temat założony przez niniejszego użytkownika |
» 2016-01-02 15:35:38 Dzięki wielkie, nie zauważyłem tego. Jest jeszcze jeden błąd w pętlach for, powinny odliczać od 0. Teraz wszystko działa. |
|
« 1 » |