Предмет: Информатика,
автор: rediSSSka
Дана линейная таблица А[1: N], N <=50. Каждый элемент A[i] с четным индексом заменить значением max(A[1], A[2],…,A[i]), а с нечетным - min(A[1], A[2],…,A[i]).
Ответы
Автор ответа:
0
const n=10;
var a:array[1..n] of integer;
max,min,i:integer;
begin
Randomize;
for i:=1 to n do begin
a[i]:=random(51);
write(a[i],' ');
end;
writeln;
max:=a[1];
min:=a[1];
for i:=1 to n do
begin
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i];
if i mod 2 = 1 then a[i]:=min else a[i]:=max;
end;
for i:=1 to n do write(a[i],' ');
writeln;
end.
Пример:
31 35 3 5 26 46 9 31 30 11
31 35 3 35 3 46 3 46 3 46
var a:array[1..n] of integer;
max,min,i:integer;
begin
Randomize;
for i:=1 to n do begin
a[i]:=random(51);
write(a[i],' ');
end;
writeln;
max:=a[1];
min:=a[1];
for i:=1 to n do
begin
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i];
if i mod 2 = 1 then a[i]:=min else a[i]:=max;
end;
for i:=1 to n do write(a[i],' ');
writeln;
end.
Пример:
31 35 3 5 26 46 9 31 30 11
31 35 3 35 3 46 3 46 3 46
Автор ответа:
0
#include <iostream>
int GetMax(int n, int* A);
int GetMin(int n, int* A);
int main() {
std::cout << "N=";
int N, i;
std::cin >> N;
int A[N+1];
// заполнение массива
for(i = 1; i <= N; i++) {
std::cout << "A[" << i << "]=";
std::cin >> A[i];
}
// чётные индексы
for(i = 1; i <= N; i++) {
if (i % 2 == 0) {
A[i] = GetMax(i, A);
}
}
// нечётные индексы
for(i = 1; i <= N; i++) {
if (i % 2 == 1) {
A[i] = GetMin(i, A);
}
}
std::cout << "Результат:" << 'n';
for(i = 1; i <= N; i++)
std::cout << A[i] << ' ';
return 0;
}
int GetMax(int n, int* A) {
int max = A[1];
for(int i = 1; i <= n; i++)
if (A[i] > max)
max = A[i];
return max;
}
int GetMin(int n, int* A) {
int min = A[1];
for(int i = 1; i <= n; i++)
if (A[i] < min)
min = A[i];
return min;
}
int GetMax(int n, int* A);
int GetMin(int n, int* A);
int main() {
std::cout << "N=";
int N, i;
std::cin >> N;
int A[N+1];
// заполнение массива
for(i = 1; i <= N; i++) {
std::cout << "A[" << i << "]=";
std::cin >> A[i];
}
// чётные индексы
for(i = 1; i <= N; i++) {
if (i % 2 == 0) {
A[i] = GetMax(i, A);
}
}
// нечётные индексы
for(i = 1; i <= N; i++) {
if (i % 2 == 1) {
A[i] = GetMin(i, A);
}
}
std::cout << "Результат:" << 'n';
for(i = 1; i <= N; i++)
std::cout << A[i] << ' ';
return 0;
}
int GetMax(int n, int* A) {
int max = A[1];
for(int i = 1; i <= n; i++)
if (A[i] > max)
max = A[i];
return max;
}
int GetMin(int n, int* A) {
int min = A[1];
for(int i = 1; i <= n; i++)
if (A[i] < min)
min = A[i];
return min;
}
Похожие вопросы
Предмет: Математика,
автор: askar12342
Предмет: Английский язык,
автор: nergiz25
Предмет: Українська мова,
автор: shevchukvictoria05
Предмет: Математика,
автор: kayzermargo