Witajcie! Mam problem z takim oto zadaniem:
//" Napisać program, który:
*wczytuje liczbę elementów tablicy dynamicznej jednowymiarowej oraz wartości dodatnie a i b (gdzie b<a)
dane do tablicy (całkowite) losuje jako liczby o module <= a i umieszcza je w tej tablicy następująco:
*liczby o module <=b na początku tablicy
*pozostałe liczby dodatnie na końcu tablicy
*wszystkie inne liczby - w pozostałej, środkowej części tablicy.
Kolejność liczb w kazdej części tablicy nie ma znaczenia. Należy wymusić, by użytkownik podał sensowne wartości a, b oraz liczby elementów tablicy.//
Tak wyglada moj kod jak do tej pory:
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
cout<<"podaj rozmiar tablicy";
cout<<endl;
int rozmiar, a, b;
int *T;
int i, i1, i2, ip;
cin>>rozmiar;
T = new int [rozmiar];
cout<<"podaj teraz dwie wartosci dodatnie: a "<<endl;
cin>>a;
cout<<"oraz b, bedace mniejsze od a"<<endl;
cin>>b;
i1=0;
ip=0;
i2=rozmiar-1;
srand (time(0));
for( i=0; i<rozmiar; i++)
{
T[i] = rand() % a;
if(T[i]<=b)
{
T[ip] = T[i1];
ip++;
T[i1] = T[i];
}
else if (T[i]>b)
{
T[i2]=T[i];
i2--;
}
else
{
T[ip]=T[i];
ip++;
}
};
for(i=0; i<rozmiar; i++)
cout<<T[i]<<" ";
delete [] T;
system("pause");
return 0;
}
Chcialem uporzadkowac tablice, nastepnie wziac sie za losowanie
liczb ujemnych.
Zatem pytania:
*dlaczego kod nie dziala, za nic w swiecie nie chce uporzadkowac tablicy
*odwolalem sie przez nazwe talicy by zrobic wskaznik, czy dlatego to nie chodzi?
*jak uzyskac liczby ujemne pseudolosowe za pomoca rand()?
*czy lepiej byloby uzyc klasy vector?
Z gory dziekuje za pomoc.