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:
- wydrukować tablicę P.
- 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). - wydrukować tak utworzone tablice.
Wskazówki: - Liczby całkowite z zakresu <d, g>, gdzie d i g są liczbami całkowitymi, losujemy jako d + rand() %
(g+1-d). - 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.
#include <iostream>
//#include <ctime>
#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;
}
Program kompiluje się prawidłowo. Nie chce mi utworzyć 2 tablicy dynamicznej, wyczerpały mi się pomysły, bardzo prosze o pomoc (dopiero zaczynam przygode z programowaniem w C++)