Страница 1 из 1
3 задачи. Матрицы. Функции
Добавлено: 24 мар 2009, 15:38
Ildar777
№1. Дана матрица В(5,5). Найти произведение элементов, которые меньше максимального элемента в 2 раза. Вывести значении максимального а так же все элементы меньше максимального в 2 раза с указанием их координат в матрице.
№2. В матрице А[m,n]. Найти строку с наименьшей суммой элементов. Вывести матрицу таблицей, найденную строку, сумму. Блок-схема.
№3. Даны 3 четырехзначные числа. Найти среди них число с наибольшей суммы цифр. Суммму цифр находить в функции.
Зарание спасибо.

Re: 3 задачи. Матрицы. Функции
Добавлено: 26 мар 2009, 02:45
dr.Jekill
3:
Код: Выделить всё
uses crt;
var kolC:byte;rez:real;
function SummaCifr(a:real):integer;
var s:string;
i,k:byte;
code,sum:integer;
begin
sum:=0;
str(a,s);
for i:=1 to length(s)-1 do
if s[i] in ['1','2','3','4','5','6','7','8','9'] then
begin
val(s[i],k,code);
sum:=sum+k;
end;
SummaCifr:=sum;
end;
procedure MiMaSumm(kol:byte;var max:real);
var i,nom:byte;
a:array[1..1000] of ^real;
begin
for i:=1 to kol do
begin
clrscr;
write('Vvedite chislo #',i,': ');
new(a[i]);
readln(a[i]^);
if i=1 then
begin
max:=SummaCifr(a[i]^);
nom:=i;
end
else
if SummaCifr(a[i]^)>max then
begin
max:=SummaCifr(a[i]^);
nom:=i;
end;
end;
clrscr;
writeln(' ------------------------');
writeln('| Chislo |Summa cifr|');
writeln(' ------------------------');
for i:=1 to kol do writeln('|',a[i]^:12:2,'|',SummaCifr(a[i]^):10,'|');
writeln(' ------------------------');
max:=a[nom]^;
end;
begin
clrscr;
write('Vvedite kolichestvo cifr: ');
readln(kolC);
MiMaSumm(kolC,rez);
writeln('Chislo s naibolshei summoi cifr: ',rez:6:2);
readln;
end.