Мне нужно создать одномерный массив случайного размера в диапазоне от 50 до 200 элементов, заполнить его случайными числами, и произвести некоторые операции с этим массивом. Написал следующее:
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i;
int f=0;
int N= random(150)+50;
int* arr;
arr=(int*)malloc(N*sizeof(int));
randomize();
cout << "Nachalnyi massiv \n";
cout << "\n";
for (i=0; i<N; i++)
{
arr[i]=random(100)-50;
cout << " " << arr[i];
}
cout << "\n";
cout << "\n";
cout << "Nachalnye indeksy neuvelichivayuschihsya posledovatelnostei: " << "\n";
cout << "\n";
for (i=0; i<N; i++)
{
if (arr[i]>arr[i+1]) { if (!f) cout << i << " "; f=1; }
else f=0;
}
return 0;
}
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(NULL)); // <---------------------
int i;
int f=0;
int N = 50 + rand() % 150; // <--------------------
int* arr;
arr=(int*)malloc(N*sizeof(int));
cout << "Nachalnyi massiv \n";
cout << "\n";
for (i=0; i<N; i++)
{
arr[i]= rand()%100 - 50; // <-------------------
cout << " " << arr[i];
}
cout << "\n";
cout << "\n";
cout << "Nachalnye indeksy neuvelichivayuschihsya posledovatelnostei: " << "\n";
cout << "\n";
for (i=0; i<N; i++)
{
if (arr[i]>arr[i+1]) { if (!f) cout << i << " "; f=1; }
else f=0;
}
free(arr); // <--------------------
return 0;
}
Е-мае... Только что заметил дополнительное условие: "В тексте программы запрещается использовать операцию индексации". А как тогда быть с циклом:
for (i=0; i<N; i++)
{
if (arr[i]>arr[i+1]) { if (!f) cout << i << " "; f=1; }
else f=0;
}