
1)
#include <iostream>
#include <cmath>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
signed main() {
srand(time(NULL));
int n;
cin >> n;
int a[n];
for(int i = 0; i < n; i++)
a[i] = rand() % 5 + 1;
vector<int> ans;
for(int i = 0; i < n; i++)
{
cout << a[i] << " ";
if(a[i] == a[0])
ans.push_back(i);
}
cout << "\n";
for(auto i: ans)
cout << i << " ";
}
2)
#include <iostream>
#include <cmath>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
signed main() {
int n,k;
cin >> n >> k;
int a[n];
vector<int> ans;
for(int i = 0; i < n; i++)
{
cin >> a[i];
if(a[i] % k == 0)
ans.push_back(a[i]);
}
for(auto i: ans)
cout << i << " ";
}
3)
#include <iostream>
#include <cmath>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
signed main() {
int n,z;
cin >> n >> z;
int a[n];
for(int i = 0; i < n; i++)
{
cin >> a[i];
a[i] = min(a[i],z);
}
for(auto i: a)
cout << i << " ";
}
1. Max - это системная функция/ Не стоит называть таким именем свою.
2. Последнее условие в процедуре не совсем понятно. И для нахождения максимального значения оптимальнее это делать в одном цикле. В PascalABC так вообще можно написать m:=a.max; и ВСЁ. Но если хотите как на Pascal - Я исправил.
3. Функция ищет максимальное значение в массиве.
Pascal
var
maxa:integer;
procedure Getmax(c:integer; var m:integer);
var
i:integer;
a: array [1..100] of integer;
begin
for i:=1 to c do begin
a[i]:= random (20);
write(a[i],' ');
if m<a[i] then
m:=a[i];
end;
writeln;
end;
begin
Getmax(100,maxa);
writeln('Max=', maxa);
end.