3 задачи. Матрицы. Функции

Ответить
Ildar777
Сообщения: 4
Зарегистрирован: 07 мар 2009, 17:12

№1. Дана матрица В(5,5). Найти произведение элементов, которые меньше максимального элемента в 2 раза. Вывести значении максимального а так же все элементы меньше максимального в 2 раза с указанием их координат в матрице.

№2. В матрице А[m,n]. Найти строку с наименьшей суммой элементов. Вывести матрицу таблицей, найденную строку, сумму. Блок-схема.

№3. Даны 3 четырехзначные числа. Найти среди них число с наибольшей суммы цифр. Суммму цифр находить в функции.

Зарание спасибо. :)
dr.Jekill
Сообщения: 526
Зарегистрирован: 03 янв 2009, 23:17
Откуда: Voronezh
Контактная информация:

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.
Нет религии выше истины
Ответить