Программа:
Pascal:
№2)
var
m: array[1..10] of integer;
begin
m[1]:=4; m[2]:=8; m[3]:=7; m[4]:=2; m[5]:=1; m[6]:=8; m[7]:=1; m[8]:=5; m[9]:=6; m[10]:=8;
for var i := 1 to 10 do
if m[i] = m.max then m[i]:= 0;
writeln(m);
end.
№3)
const n = 10;
a: array[1..n] of integer;
i, k, tmp: integer;
for i := 1 to n do a[i] := random(0, 1);
writeln('Массив: ', a);
for i := 1 to n - 1 do
for k := 1 to n - i do
if a[k] > a[k + 1] then begin
tmp := a[k];
a[k] := a[k + 1];
a[k + 1] := tmp;
end;
writeln(a);
№5)
a1, a2: array[1..n div 2] of integer;
for i := 1 to n do a[i] := random(-10, 10);
writeln('Исходный массив: ',a);
for i := 1 to n div 2 do a1[i] := a[i];
for i := (n div 2 + 1) to n do a2[i - n div 2] := a[i];
for i := 1 to n div 2 - 1 do
for k := 1 to n div 2 - i do
if a1[k] > a1[k + 1] then begin
tmp := a1[k];
a1[k] := a1[k + 1];
a1[k + 1] := tmp;
if a2[k] < a2[k + 1] then begin
tmp := a2[k];
a2[k] := a2[k + 1];
a2[k + 1] := tmp;
for i := 1 to n do
if i <= 5 then a[i] := a1[i]
else a[i] := a2[i - n div 2];
writeln('Выходной массив: ', a);
короче, я сделал так что строго между минимум и максимумом, можешь изменить потом, если нужно включая индексы мин и макса
#include<bits/stdc++.h>
#define ll long long
#define fast ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define pb push_back
#define in insert
#define popb pop_back
#define ul unsigned long int
#define ld long double
using namespace std;
ll m, n, k, b, a[10000];
vector <ll> p;
string s, t, c;
set <int> st;
int main(){
fast;
cin >> n;
ll ans = 0, cnt = 1, mx = (ll)1e9 + 1, mn = (ll)-1e9 + 123, i = 0, idmn = 0, idmx = 0;
while(n--){
cin >> a[i];
if (a[i] % 2 == 0){
ans += a[i];
ans %= 106;
}
if (mx < a[i]){
mx = a[i];
idmx = i;
else if (mn > a[i]){
mn = a[i];
idmn = i;
i++;
ll idmn1 = min(idmn, idmx);
ll idmx2 = max(idmn, idmx);
for (int i = idmn1; i < idmx2; i++){
cnt *= a[i];
cnt %= 106;
cout << ans % 106 << ' ' << cnt % 106;
return 0;
Программа:
Pascal:
№2)
var
m: array[1..10] of integer;
begin
m[1]:=4; m[2]:=8; m[3]:=7; m[4]:=2; m[5]:=1; m[6]:=8; m[7]:=1; m[8]:=5; m[9]:=6; m[10]:=8;
for var i := 1 to 10 do
if m[i] = m.max then m[i]:= 0;
writeln(m);
end.
№3)
const n = 10;
var
a: array[1..n] of integer;
i, k, tmp: integer;
begin
for i := 1 to n do a[i] := random(0, 1);
writeln('Массив: ', a);
for i := 1 to n - 1 do
for k := 1 to n - i do
if a[k] > a[k + 1] then begin
tmp := a[k];
a[k] := a[k + 1];
a[k + 1] := tmp;
end;
writeln(a);
end.
№5)
const n = 10;
var
a: array[1..n] of integer;
a1, a2: array[1..n div 2] of integer;
i, k, tmp: integer;
begin
for i := 1 to n do a[i] := random(-10, 10);
writeln('Исходный массив: ',a);
for i := 1 to n div 2 do a1[i] := a[i];
for i := (n div 2 + 1) to n do a2[i - n div 2] := a[i];
for i := 1 to n div 2 - 1 do
for k := 1 to n div 2 - i do
if a1[k] > a1[k + 1] then begin
tmp := a1[k];
a1[k] := a1[k + 1];
a1[k + 1] := tmp;
end;
for i := 1 to n div 2 - 1 do
for k := 1 to n div 2 - i do
if a2[k] < a2[k + 1] then begin
tmp := a2[k];
a2[k] := a2[k + 1];
a2[k + 1] := tmp;
end;
for i := 1 to n do
if i <= 5 then a[i] := a1[i]
else a[i] := a2[i - n div 2];
writeln('Выходной массив: ', a);
end.
короче, я сделал так что строго между минимум и максимумом, можешь изменить потом, если нужно включая индексы мин и макса
#include<bits/stdc++.h>
#define ll long long
#define fast ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define pb push_back
#define in insert
#define popb pop_back
#define ul unsigned long int
#define ld long double
using namespace std;
ll m, n, k, b, a[10000];
vector <ll> p;
string s, t, c;
set <int> st;
int main(){
fast;
cin >> n;
ll ans = 0, cnt = 1, mx = (ll)1e9 + 1, mn = (ll)-1e9 + 123, i = 0, idmn = 0, idmx = 0;
while(n--){
cin >> a[i];
if (a[i] % 2 == 0){
ans += a[i];
ans %= 106;
}
if (mx < a[i]){
mx = a[i];
idmx = i;
}
else if (mn > a[i]){
mn = a[i];
idmn = i;
}
i++;
}
ll idmn1 = min(idmn, idmx);
ll idmx2 = max(idmn, idmx);
for (int i = idmn1; i < idmx2; i++){
cnt *= a[i];
cnt %= 106;
}
cout << ans % 106 << ' ' << cnt % 106;
return 0;
}