10 задач с решениями программированием на Паскале
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: реферати українською, реферат по физике
| Добавил(а) на сайт: Afinodor.
1 2 | Следующая страница реферата
Задача 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;
procedure vvod(kn:integer;x:mas); var y:m;i,t,k,min,k0:integer; begin for k:=1 to kn do begin k0:=0; min:=1000; writeln('введите кол-во эл-ов в ',k,'-ом массиве');read (t); writeln('теперь введите элементы этого массива'); for i:=1 to t do read(y[i]); for i:=1 to t do if y[i]1 do begin k:=k+1; delete(p,1,pos(' ',p));end; str(k,pk);insert(pk,s,length(s)+1); writeln(buf,s);end; close(f); close(buf); erase(f); rename(buf,'c:f.txt'); end;
procedure w(var f:ft); var s:string; begin writeln('измененный фаил будет выглядеть так:'); reset(f); while not eof(f) do begin readln(f,s); writeln(s) end; close(f); end;
begin writeln('введите кол-во строк в файле'); readln(k); sozd(f1,k); kslov(f1);w(f1); end.
Рекомендуем скачать другие рефераты по теме: bestreferat, сочинение.
Категории:
1 2 | Следующая страница реферата