Дана последовательность
10-11 класс
|
не более N
ненулевых целых чисел, последним числом в последовательности является
0. Ввести эту последовательность в одномерный массив и
вычислить хаpактеристики
.Найти порядковые номера и сумму двух наибольших элементов. ( в Паскаль )
type
tE = record
v: integer;
p: integer;
end;
procedure Swap2E(var a: tE; var b: tE);
// Обмен содержимым пары записей
var
Buff: integer;
begin
Buff := a.v; a.v := b.v; b.v := Buff;
Buff := a.p; a.p := b.p; b.p := Buff
end;
procedure Swap3E(var a: tE; var b: tE; var c: tE);
// Обмен содержимым трех записей
// Предполагается, что до вызова процедуры a.v>=b.v,
// после вызова значение с.v помещается в a.v или b.v так,
// чтобы большее из трех значений попало в a.v, а следующее
// по величине попало в b.v. Младшее значение теряется.
begin
if c.v >= a.v then begin
Swap2E(a, b); Swap2E(a, c)
end
else
if c.v > b.v then Swap2E(b, c);
end;
const
n = 50;
var
a: array[1..n] of integer;
R1, R2, T: tE;
i, e, m: integer;
begin
i := 1;
writeln('Вводите числа, 0 - конец ввода');
repeat
read(e);
a[i] := e;
i:=i+1;
until e = 0;
m := i;
if a[1] > a[2] then begin
R1.v := a[1]; R1.p := 1;
R2.v := a[2]; R2.p := 2
end
else begin
R1.v := a[2]; R1.p := 2;
R2.v := a[1]; R2.p := 1
end;
for i := 3 to m do
begin
T.v := a[i];
T.p := i;
Swap3E(R1, R2, T)
end;
writeln('Максимальные значения имеют элементы с номерами ', R1.p, ' и ', R2.p);
writeln('Сумма этих элементов равна ', R1.v + R2.v)
end.
Контрольный пример:
Вводите числа, 0 - конец ввода
18
6
13
40
14
52
0
Максимальные значения имеют элементы с номерами 6 и 4
Сумма этих элементов равна 92
Другие вопросы из категории
Входной файл содержит числа , ().
название группы;
название альбома;
год выпуска;
стиль.
Выведите на экран все альбомы в стиле pop и rock.
2) Преобразовать одномерный массив вещественных чисел, присвоив каждому элементу квадрат его значения.
1)Кбит/с к бит/с
2)Мбит/с к бит/с
3)Гбит/с к бит/с
указать тип алгоритмов:Найти сумму первых десяти натуральных четных чисел.
элементов стоящих слева и справа от минимального элемента массива.
Разделить на найденное произведение минимум и максимум. Изменённый
массив вывести.
Вот начало:
program ABC;
const Nmass=100;
var A:array[1..Nmass] of integer;
N,i,k,max,min: byte;
buf:integer;
begin
cls;
//ручной ввод массива
writeLn('Введите число элементов в массиве A');
readLn(N);
writeLn('Вводим элементы массива A:');
for i:=1 to N do
begin
write('A[',i,']=');
readLn(A[i]);
end;
//вывод массива до измененния
writeLn('Исходный массив A:');
for i:=1 to N do
write(A[i]:5);
writeLn;
Читайте также
= a1, b2 = a1+ a2, …, bn = a1+ an. Дано n. Получить последовательность , где Даны n,. Получить сумму и количество тех элементов данной последовательности, которые кратны 5 и не кратны 4. Даны n,. Вычислить Даны n и . Получить a1, a2, …, an , 2a1, 3a2, …, (n + 1)n an. Выяснить образуют ли они возрастающую последовательность.
1, 2, 4, 7, 3, 4, 4 … , каждый элемент этой последовательности, начиная с
четвёртого равен последней цифре суммы трёх предыдущих элементов. Найдите
значение 1400-го элемента этой последовательности.
Ответ: ______________
арифметическое чисел из последовательности
[-10,10]. Определить количество отрицательных чисел больших -5 в данной
последовательности.
пробела, за последним словом-точка. Составить программу на языке Паскаль
1) Все слова, которые встречаются в последовательность по одному разу