Tablica dynamiczna C++
Ostatnio zmodyfikowano 2022-05-08 20:58
ciin0wskii Temat założony przez niniejszego użytkownika |
Tablica dynamiczna C++ » 2022-05-08 20:27:09 Zwykłą tablicę statyczną P[n] (n - stała) wypełnić wylosowanymi rekordami oznaczającymi współrzędne całkowite (x, y) punktów na płaszczyźnie z zakresu <-G, G> (G jest dodatnią stałą całkowitą). Następnie: 1. wydrukować tablicę P. 2. utworzyć dwie tablice dynamiczne zawierające punkty leżące nad osią x układu współrzędnych oraz pod osią x układu (a więc nie leżące na osiach układu). 3. wydrukować tak utworzone tablice. Wskazówki: 1. Liczby całkowite z zakresu <d, g>, gdzie d i g są liczbami całkowitymi, losujemy jako d + rand() % (g+1-d). 2. Przed utworzeniem tablic dynamicznych i wpisaniem do nich rekordów z tablicy P trzeba najpierw policzyć, ile tych rekordów będzie w każdej tablicy. KOD : #include <iostream> #include <cstdlib>
using namespace std;
const int n = 30; const int G = 100;
struct SRekord { int x; int y; };
int main() { SRekord P[ n ]; int overX = 0; int underX = 0; for( int i = 0; i < n; i++ ) { P[ i ].x =( - G ) + rand() %( G + 1 -( - G ) ); P[ i ].y =( - G ) + rand() %( G + 1 -( - G ) ); if( P[ i ].y > 0 ) { overX++; cout << "over: " << P[ i ].x << " " << P[ i ].y << endl; } else { if( P[ i ].y < 0 ) { underX++; cout << "under: " << P[ i ].x << " " << P[ i ].y << endl; } } } cout << " over " << overX << endl; cout << " under " << underX << endl; SRekord * O = new SRekord; for( int i = 0; i < n; i++ ) { O[ i ].x =( - G ) + rand() %( G + 1 -( - G ) ); O[ i ].y =( - G ) + rand() %( G + 1 -( - G ) ); if( O[ i ].y > 0 ) { overX++; cout << "over: " << O[ i ].x << " " << O[ i ].y << endl; delete[ ] O; } } SRekord * U = new SRekord; for( int i = 0; i < n; i++ ) { U[ i ].x =( - G ) + rand() %( G + 1 -( - G ) ); U[ i ].y =( - G ) + rand() %( G + 1 -( - G ) ); if( U[ i ].y < 0 ) { underX++; cout << "under: " << U[ i ].x << " " << U[ i ].y << endl; delete[ ] U; } } return 0; } Problem w tym,że program zatrzymuje się po pierwszej tablicy dynamicznej ,,Over'' , nie chce wczytac ,,under'' Przyznam, że w c++ od niedawna zaczynam nauke. Nie mam pojecia gdzie jest błąd. |
|
pekfos |
» 2022-05-08 20:58:46 |
|
« 1 » |