int main()
{
using namespace std;
setlocale(LC_ALL, "ru");
srand(time(NULL));
int N = 10, M = 0;
int* parr_1 = new int[N];
int* parr_2 = new int[M];
cout << "Начальный массив: " << endl;
for (int i = 0; i < N; i++)
{
parr_1[i] = getRandomNumber(-30, 30);
cout << parr_1[i] << '\t';
if (parr_1[i] < 0) push_pack(parr_2, M, parr_1[i]);
}
cout << "\n\nОтсортированный массив: " << endl;
bubbleSort(parr_1, N);
for (int i = 0; i < N; i++)
cout << parr_1[i] << '\t';
cout << "\n\nМассив с отрицательными числами: " << endl;
for (int i = 0; i < M; i++)
cout << parr_2[i] << '\t';
delete[] parr_1;
delete[] parr_2;
return 0;
}
void push_pack(int *&arr, int& size, const int val)
{
int *newArr = new int[size + 1];
for (int i = 0; i < size; i++)
newArr[i] = arr[i];
newArr[size++] = val;
delete[] arr;
arr = newArr;
}
int getRandomNumber(const int min, const int max)
{
static const double fraction = 1.0 / (static_cast<double>(RAND_MAX) + 1.0);
return static_cast<int>(rand() * fraction * (max - min + 1) + min);
}
void bubbleSort(int* arr, const int size)
{
int temp = 0;
for (int i = 0; i < size - 1; i++)
{
for (int j = 0; j < size - 1; j++)
{
if (arr[j + 1] < arr[j])
{
temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
}
Ирина и Тимур = не информатика
Таня и Саша = не информатика
Тимур = боится физики
Таня, Тимур = не литература, но плавают
Тимур и Таня = поздравили математика
Ирена = cожалеет мало времени на литературу
победители по: физике, математике, информатике, литературе и географии.
Коля - информатика (Ирена и Тимур = учит, Камилла и Эльдар = интересуются)
Тимур - не физика, не литература, не математика, не информатика,
значит география
Таня - не информатика, не литература, не математика, уже не география => Физика
Ирена - не информатика, не физика, не география => Литература
Коля - Математика