Не очень нравится это решение, но работает: const n = 10; var mas:array [1..n] of integer; i,min,k:integer; begin for i:= 1 to n do begin mas[i]:=Random(100); end; writeln('Полученный массив: '); for i:= 1 to n do write(mas[i]:4); writeln; writeln('Результат выполнения задания: '); min:=mas[1]; for i:=2 to n do begin if min>mas[i] then begin min:=mas[i]; k:=i; end; end; for i:=1 to k-1 do mas[i]:=0; for i:=k+1 to n do mas[i]:=0; for i:= 1 to n do write(mas[i]:4); readln end. Полученный массив: 81 89 88 18 26 28 97 3 15 28 Результат выполнения задания: 0 0 0 0 0 0 0 3 0 0
#include <time.h>
#include <stdlib.h>
int main()
{
srand(time(NULL));
int n;
int *a;
int n_max;
int n_index;
std::cout << "N: ";
std::cin >> n;
std::cout << "Source\n";
a = new int[n];
for (int i = 0; i<n; i++)
{
*(a + i) = rand() % 200 *(-1);
std::cout << *(a + i) << " ";
}
std::cout << "\n";
n_max = a[0];
for (int j = 0; j < n; j++)
{
if (*(a + j)>n_max)
{
n_max = *(a + j);
n_index = j;
}
}
std::cout << "\nMax: " <<n_max<<"\nIndex: "<<n_index+1<<std::endl;
return 0;
}