На главную   Контакты   Поиск   Карта сайта   Ссылки 
рефераты
 

10 задач с решениями программированием на Паскале, стр. 1

Задача 1.

Условие: Найти среднее арифметическое общей совокупности элементов тех строк заданной матрицы, последний элемент которых равен 1.

Программа:

program S2_Z1;

type m=array[1..100,1..100] of integer;

var A:m;

procedure vvod(m,n:integer;var x:m);

var i,j: integer;

begin writeln('введите элементы массива');

for i:=1 to m do

for j:=1 to n do

read(x[i,j]);

end;

procedure arf(m,n:integer;var x:m);

var i,j,s:integer;sr:real;

begin

for i:=1 to m do begin s:=0; sr:=0;

if x[i,n]=1 then begin

for j:=1 to n do

s:=s+x[i,j]; sr:=s/n;

writeln ('среднее арифметическое ',i,' строки равно ',sr:5:2); end; end;

end;

begin

vvod(3,3,A);

arf(3,3,A);

end.

Задача 2.

Условие: Получить массив Х(n) по правилу: Хi =1, если в i-м столбце заданной матрицы есть хотя бы один элемент превышающий заданное значение С, иначе Xi=0. Найти общее число элементов, больших С.

Программа:

program S2_Z2;

type m=array[1..100,1..100] of integer; mas=array[1..100] of integer;

var A:m;

procedure vvod(m,n:integer;var x:m);

var i,j: integer;

begin writeln('введите элементы массива');

for i:=1 to m do

for j:=1 to n do

read(x[i,j]);

end;

procedure moped(m,n:integer;var y:m);

var i,j,c,k:integer; X:mas;

begin k:=0; writeln('введите величину С='); readln(c);

for j:=1 to n do x[j]:=0;

for j:=1 to n do

for i:=1 to m do

if y[i,j]>c then begin X[j]:=1; k:=k+1; end;

writeln('элементы массива Х:');

for j:=1 to n do write(X[j],' ');

writeln;

writeln('число элементов матрици превышающих число ',c,' равно ',k)

end;

begin

vvod(2,5,A);moped(2,5,A);readln;

end.

Задача 3.

Условие: Дан массив A(5,5). Изменить часть матрицы, находящуюся под главной диагональю следующим образом: если элемент A[i,j] этой части матрицы больше элемента A[j,i], то задать элементу A[i,j] новое значение, равное полу сумме двух этих элементов.

Программа:

program S2_Z3;

type m=array[1..100,1..100] of real;

var A:m;

procedure vvod(m,n:integer;var x:m);

var i,j: integer;

begin

writeln('введите элементы массива');

for i:=1 to m do

for j:=1 to n do

read(x[i,j]);

end;

procedure mat(m,n:integer;var x:m);

var i,j: integer; t:real;

begin

writeln('изменённый матрица A[i,j] будет выглядеть так');

for i:=1 to m do

for j:=1 to n do

if i>j then if x[i,j] > x[j,i] then x[i,j]:=(x[i,j]+x[j,i])/2;

for i:=1 to m do

for j:=1 to n do

write( A[i,j]:2:1,' ');

end;

begin

vvod(5,5,A);

mat(5,5,A);

end.

Задача 4.

Условие: Определить самую длинную последовательность подряд идущих нулей в заданном одномерном массиве.

Программа:

program S2_Z4;

type m=array[1..100] of integer;

var A:m;

procedure vvod(m:integer;var x:m);

var i: integer;

begin writeln('введите элементы массива');

for i:=1 to m do

read(x[i]);

end;

procedure moped(m:integer;var x:m);

var i,k,n:integer;

begin k:=0;n:=0;

for i:=1 to m do

if x[i]=0 then k:=k+1

else begin

if x[i-1]=0 then

if k>n then n:=k;

k:=0;end;

if k>n then

writeln('самая большая последовательность нулей состовляет ',k)

else

writeln('самая большая последовательность нулей состовляет ',n);

end;

begin

vvod(20,A); moped(20,A);

end.

Задача 5.

Написать программу, считывающую заданное количество одномерных массивов, определяющую минимальный элемент в каждом из них и подсчитывающую количество нулей среди элементов, расположенных за минимальным.

Программа:

program S2_Z5;

type m=array[1..100] of integer; mas=array[1..10] of m;

var A:mas;

p

    вперед >>

© 2006. Все права защищены.