Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2015, 00:32   #1
Arsball
 
Регистрация: 24.11.2015
Сообщений: 6
По умолчанию Матрицы и их диагонали

Дана целочисленная квадратная матрица A(n,n), n<=10. Найти количество чётных элементов, расположенных выше главной диагонали матрицы. Все элементы побочной диагонали заменить на найденное значение. Если чётных элементов выше главной диагонали нет, вывести сообщение и преобразование не делать. Исходную преобразованную матрицу вывести в виде матриц. Количество чётных элементов вывести.
Для решения задачи составить подпрограммы:
- Функцию подсчёта количества чётных элементов выше главной диагонали
- Процедуру преобразование матрицы
Arsball вне форума Ответить с цитированием
Старый 24.11.2015, 09:08   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Попытки и наработки твои можно увидеть?
_____________
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 24.11.2015, 10:21   #3
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
uses crt;
const N = 10;
type mas=array [1..n,1..n] of byte;
var a,b:mas;
    k  :byte;
procedure readdata;
var i,j:byte;
begin
     randomize;
     for i:=1 to n do
      for j:=1 to n do
            a[i,j] := random(10);
end;
procedure outdata(m:mas);
var i,j:byte;
begin
     for i:=1 to n do
      begin
           for j:=1 to n do
            write(m[i,j]:3);
           writeln;
      end;
end;

procedure showupmain;
var i,j:byte;
begin
     for i:=1 to n do
      begin
       for j:=1 to n do
        if i < j then
           begin
                write(a[i,j]:3);
                if (odd(a[i,j])=FALSE) and (a[i,j]<>0) then inc(k);
           end
           else write('   ');
       writeln;
      end;
     writeln('KoJIu4ecTBo 4eTHbIX : ',k);
end;

procedure pobochnajadiagonal;
var i,j:byte;
begin
     for i := 1 to n do
     begin
      for j := 1 to n do
       if j=n-i+1 then write(a[i,j]:3)
       else write('   ');
      writeln;
      end;
end;
procedure smth;
var i,j:byte;
begin
     for i:=1 to n do
     begin
          for j:=1 to n do
              if j=n-i+1 then begin a[i,j]:=k;write(a[i,j]:3);end
              else write('   ');
          writeln;
     end;
end;

begin
clrscr;
readdata;
b:=a;
outdata(a);
writeln('press <ENTER>');readln;
writeln('----MAIN----');
showupmain;
writeln('press <ENTER>');readln;
pobochnajadiagonal;
writeln('press <ENTER>');readln;
if k>0 then smth
else writeln('HALT');
writeln;
writeln('input array');
outdata(b);
writeln;
writeln('output array');
outdata(a);
readln;
end.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Диагонали квадратной матрицы A24 Помощь студентам 3 21.10.2012 20:01
Ф-ия, определяющая сумму строк матрицы, если на главной диагонали матрицы имеется отрицательный эл-т. Volk_xD Помощь студентам 6 05.01.2011 13:39
диагонали матрицы на си Monomah Общие вопросы C/C++ 6 15.12.2010 21:13
диагонали матрицы astrozombie Паскаль, Turbo Pascal, PascalABC.NET 2 02.05.2009 08:42
Найти отношения суммы элементов главной диагонали и суммы элементов побочной диагонали квадратной матрицы Elmander Помощь студентам 2 21.06.2007 07:15