Одномерные массивы

1)Ввести с клавиатуры массив из 5 элементов. Найти среднее арифметическое всех элементов массива.

program z1;
const n=5;
var a:array [1..n] of integer;
i,s:integer;s1:real;
begin
for i:=1 to n do
begin
write('a[',i,']=');
read(a[i]);
end;
s:=0;s1:=0;
for i:=1 to n do
s:=s+a[i];
s1:=s/n;
writeln('среднее арифм =',s1);
readln
end.

2)Ввести с клавиатуры массив из 5 элементов. Найти наименьший из них.

program z2;
const n=5;
var a:array [1..n] of integer;
min,i:integer;
begin
for i:=1 to n do
begin
write(‘a[‘,i,’]=’);
read(a[i]);
end;
min:=a[i];
for i:=1 to n do
if a[i]<min then
min:=a[i];
writeln(‘min =’,min);
readln
end.

3)Ввести с клавиатуры массив из 5 элементов. Найти произведение отрицательных элементов массива.

program z3;
const n=5;
var a:array [1..n] of integer;
p,i:integer;
begin
for i:=1 to n do
begin
write(‘a[‘,i,’]=’);
read(a[i]);
end;
p:=1;
for i:=1 to n do
if a[i]<0 then
p:=a[i]*p;
writeln(‘p =’,p);
readln
end.

4)Ввести с клавиатуры массив из 5 элементов. Найти кол-во неотриц-х элементов.

program z4;
const n=5;
var a:array [1..n] of integer;
k,i:integer;
begin
for i:=1 to n do
begin
write(‘a[‘,i,’]=’);
read(a[i]);
end;
k:=0;
for i:=1 to n do
if a[i]>0 then
k:=k+1;
writeln(‘k =’,k);
readln
end.

5)Ввести с клавиатуры массив из 5 элементов. Найти сумму четных элементов.

program z5;
const n=5;
var a:array [1..n] of integer;
s,i:integer;
begin
for i:=1 to n do
begin
write(‘a[‘,i,’]=’);
read(a[i]);
end;
s:=0;
for i:=1 to n do
if a[i] mod 2=0 then
s:=s+a[i];
writeln(‘s =’,s);
readln
end.

6)Ввести с клавиатуры массив из 5 элементов. Найти сумму элементов стоящих на четных местах.

program z6;
const n=5;
var a:array [1..n] of integer;
s,i:integer;
begin
for i:=1 to n do
begin
write(‘a[‘,i,’]=’);
read(a[i]);
end;
s:=0;
for i:=1 to n do
if i mod 2=0 then
s:=s+a[i];
writeln(‘s =’,s);
readln
end.

7) Дан одномерный массив чисел. Измените знаки всех его элементов на противоположные.

program z7;
const n=10;
var a:array [1..n] of integer;
i:integer;
begin
writeln(‘исходный массив:’);
for i:=1 to n do
begin
a[i]:=random(100);
writeln(‘a[‘,i,’]= ‘,a[i]);
end;
writeln;
writeln(‘новый массив:’);
for i:=1 to n do
begin
a[i]:=-1*a[i];
writeln(‘a(‘,i,’)= ‘, a[i]);
end;

end.

8) Удалить первый отрицательный элемент, если таковой имеется.

program z8;
const n=10;
var a:array [1..n] of integer;
i,k,ki:integer;
begin
k:=0;
writeln(‘исходный массив:’);
for i:=1 to n do
begin
a[i]:=random(100)-90;
write(‘a[‘,i,’]= ‘,a[i],’  ‘);
end;
for i:=1 to n do
if (k=0) and (a[i]<0) then
begin k:=a[i];
ki:=i;
end;
for i:=ki to n-1 do
begin
a[i]:=a[i+1];
end;
writeln;
writeln(‘номер первого отрицательного элемента= ‘, ki);
writeln(‘массив после удаления элемента :’ );
for i:=1 to n-1 do
write(‘a[‘,i,’]= ‘,a[i],’  ‘);

end.

9) Вставить элемент перед отрицательным последним элементом.

program z9;
const n=10;
var a:array [1..n] of integer;
i,k,ki,x:integer;
begin
k:=0;
writeln(‘исходный массив:’);
randomize;
for i:=1 to n do
begin
a[i]:=random(50)-30;
write(‘a[‘,i,’]= ‘,a[i],’  ‘);
end;
for i:=1 to n do
if a[i]<0 then
begin k:=a[i];
ki:=i;
end;
writeln(‘последний отрицательный элемент: ‘, k);
writeln(‘введите число, которое надо вставить перед отрицательным последним элементом: ‘);
read(x);
writeln(‘массив после вставки элемента :’ );
for i:=1 to ki-1 do
write(‘a[‘,i,’]= ‘,a[i],’  ‘);
write(‘a[‘,ki,’]= ‘,x,’  ‘);
for i:=ki to n do
write(‘a[‘,i+1,’]= ‘,a[i],’  ‘);
end.

10) Даны два целочисленных массива одинаковой размерности. Получить третий массив той же размерности, каждый элемент которого равен большему из соответствующих элементов данного массива.

program z10;
const n=10;
var a,b,c:array [1..n] of integer;
i,k:integer;
begin
k:=0;
writeln(‘массив a:’);
for i:=1 to n do
begin
a[i]:=random(100);
writeln(‘a[‘,i,’]= ‘,a[i]);
end;
writeln;
writeln(‘массив b:’);
for i:=1 to n do
begin
b[i]:=random(100);
writeln(‘b[‘,i,’]= ‘,b[i]);
end;
writeln;
writeln(‘массив c:’);
for i:=1 to n do
begin
if a[i]>b[i] then c[i]:= a[i] else c[i]:=b[i];
writeln(‘c[‘,i,’]= ‘,c[i]);
end;

end.

11) В заданной последовательности все элементы, не равные нулю, расположить сохраняя их порядок следования, в начале последовательности, а нулевые элементы — в конце последовательности.

uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
    n,i,k,j,x:integer;
begin
clrscr;
randomize;
repeat
write(‘Размер массива до ‘,nmax,’ n=’);
readln(n);
until n in [1..nmax];
writeln(‘Исходный массив:’);
for i:=1 to n do
 begin
  a[i]:=-3+random(8);
  write(a[i],’ ‘);
 end;
writeln;
writeln;
k:=0;
for i:=n downto 1 do
if a[i]=0 then
  begin
   k:=k+1;
   x:=a[i];
   for j:=i to n-k do
   a[j]:=a[j+1];
   a[n-k+1]:=x;
 end;
writeln(‘Перестановка:’);
for i:=1 to n do
write(a[i],’ ‘);
readln
end.
12) Дан одномерный массив чисел. Определите сумму его элементов.
program z12;
const n=10;
var a:array [1..n] of integer;
    i,s:integer;
begin
s:=0;
writeln(‘дан массив:’);
for i:=1 to n do
  begin
  a[i]:=random(100);
  writeln(‘a[‘,i,’]= ‘,a[i]);
  end;
for i:=1 to n do
  begin
  s:=s+a[i];
  end;
writeln;
writeln(‘s= ‘,s);
end.

13) Дан одномерный массив целых чисел из 12 элементов. Поменять местами первый отрицательный с первым положительным, если гарантируется что такие присутствуют.

program z13;
uses crt;
const n=12;
var a:array [1..n] of integer;
i,k,p,x:integer;
begin
k:=0;p:=-1;
writeln(‘исходный массив:’);
for i:=1 to n do
begin
write(‘a[‘,i,’]= ‘);read(a[i]);
end;
for i:=1 to n do
if (k=0) and (a[i]<0) then k:=i;
for i:=1 to n do
if (p=-1) and (a[i]>0) then p:=i;
writeln(‘первый отрицательный элемент= ‘, a[k]);
writeln(‘первый положительный элемент= ‘, a[p]);
writeln(‘массив после выполнения программы :’ );
x:=a[k];
a[k]:=a[p];
a[p]:=x;
for i:=1 to n do
write(‘a[‘,i,’]= ‘,a[i],’  ‘);
end.

14. В одномерном массиве произвольных чисел А(10) положительные элементы уменьшить в двое, а отрицательные элементы заменить на значения их индексов.

const n=10;
var a:array[1..n] of real;
i,k:integer;
begin
for i:=1 to n do
begin
write(‘a[‘,i,’]= ‘);readln(a[i])
end;
for i:=1 to n do
begin
if a[i]>0 then a[i]:=a[i]/2;
if a[i]<0 then a[i]:=i;
end;
writeln;
for i:=1 to n do
writeln(‘a[‘,i,’]= ‘,a[i]);
end.

15. Массив А(10), Если ПЯТЬ элементов одномерного
массива положительные, то вывести сообщение
«УСЛОВИЕ ВЫПОЛНЯЕТСЯ», иначе «УСЛОВИЕ НЕ ВЫПОЛНЯЕТСЯ».

const n=10;
var a:array[1..n] of real;
i,k:integer;
begin
k:=0;
for i:=1 to n do
begin
write(‘a[‘,i,’]= ‘);readln(a[i])
end;
for i:=1 to n do
if a[i]>0 then k:=k+1;
if k=5 then writeln(‘«УСЛОВИЕ ВЫПОЛНЯЕТСЯ»’)
else writeln(‘«УСЛОВИЕ НЕ ВЫПОЛНЯЕТСЯ»’)
end.

16.Организовать в диалоге ввод элементов целочисленного массива А размерностью N. Вычислить среднее арифметическое из четных элементов массива А. Посчитать количество положительных нечетных элементов массива. Вывести на экран монитора массив и результаты вычислений.

uses crt;
var a:array[1..1000] of integer;
i,p,k,n,s:integer;
sa:real;
begin
write(‘Введите n= ‘);readln(n);
for i:=1 to n do
begin
write(‘a[‘,i,’]= ‘);readln(a[i])
end;
for i:=1 to n do
if (a[i] mod 2=0) then
begin
s:=s+a[i];k:=k+1;
end;
sa:=s/k;
for i:=1 to n do
if (a[i]>0) and (a[i] mod 2 <>0) then p:=p+1;
writeln(‘среднее арифметическое из четных элементов массива А: ‘,sa);
writeln(‘количество положительных нечетных элементов массива: ‘,p);
end.

Добавить комментарий