• Предмет: Информатика
  • Автор: trollotrollovit
  • Вопрос задан 8 лет назад

Дан массив А целых чисел состоящий из 20 эл(вод с клавы)
1 создать новый массив В каждый эл которого равен корню квадратному эл массива А
2 найти сумму масивов с 11 по 15
3 найти эл кратный 8 и его индекс
4 найти удвоенную сумму полож эл
5 вывести индексы тех эд значения которых больше значения предыдущего эл(начиная со ворого)
6 определить есть ли 2 пары соседних эл с одинаковыми знаками.
7 найти кол полож эл
8 вычесть из полож эл с номером 2 а к отриц добавить эл с номером 4
9 удалить из табл все эл массива кратные 3 или 5
10 поменять последний 2 эл массива и первый чётный
(извен за ошибки)

Приложения:

Ответы

Ответ дал: Galbine
0
Напишу только циклы, потому что
1) много заданий.
2) различия только в циклах

1. Создаешь переменную b:array[1..20] of real;
...
for i:=1 to 20 do
b[i]:= sqrt(a[i]);
...

2. Создаешь переменную sum: integer;
...
sum:=0;
for i:=11 to 15 do
sum:=sum+a[i];
...

3. Здесь без дополнительных переменных.
...
for i:=1 to 20 do
if a[i] mod 8 = 0 then
writeln('A[',i,'] = ',a[i]);
...

4. Создаешь переменную sum:integer:
...
sum:=0;
for i:= 1 to 20 do
if a[i] > 0 then sum:=sum+a[i];
sum:=sum*2;
...

5. Здесь без дополнительных переменных.
...
for i:= 2 to 20 do
if a[i] > a[i-1] then
writeln('A[',i,']');
...

6. Создаешь переменную k:integer;
...
k:=0;
for i:=1 to 19 do
if a[i] and a[i+1] > 0 or a[i] and a[i+1] < 0 then
k:=k+1;
if k>0 then writeln('Да'); else writeln('Нет');
...

7. Аналогично, переменная k:integer;
...
k:=0;
for i:=1 to 20 do
if a[i] > 0 then k:=k+1;
writeln(k,' элементов больше 0');
...

8. Без дополнительных переменных
...
for i:=1 to 20 do
if a[i]>0 then
a[i]:=a[i]-a[2];
else
a[i]:=a[i]+a[4];
for i:= 1 to 20 do
write(a[i]:4);
...

9. Переменную k:integer;
...
k:=1;
for i:=1 to 19 do
if a[i] mod 3 > 0 or a[i] mod 5 > 0 then
k:=k+1;
else a[k]:=a[i+1];
...
(Могу ошибаться, я пересмотрю это задание)
Вас заинтересует