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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2016, 20:44   #1
Rasta28
Новичок
Джуниор
 
Регистрация: 24.10.2016
Сообщений: 2
По умолчанию Задачи, pascal

Помогите, пожалуйста!!!
Задача 1. В целочисленной матрице А размером N*M (числа N и M задаются с клавиатуры в диапазоне от 3 до 10) подсчитать сумму элементов побочной диагонали и расположенных ниже нее.
Заполнение матрицы осуществить с клавиатуры числами в диапазоне от 2 до 12. Исходную матрицу и сумму элементов заданной области матрицы вывести на экран.

Задача 2. Сформировать вещественную матрицу А размером N*M (числа N и M задаются с клавиатуры в диапазоне от 3 до 10). Суммы элементов строк занести в одномерный массив В.
Заполнение матрицы осуществить с клавиатуры. Массивы А и В вывести на экран.
Rasta28 вне форума Ответить с цитированием
Старый 24.10.2016, 22:03   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Точно не квадратная матрица имеет побочную диагональ?

Код:
uses crt;
type mas2d = array [1..10,1..10] of byte;
     mas = array[1..10] of byte;
var n,m : byte;
    a   : mas2d;
    aa  : mas;
    s   : integer;

procedure ReadDataAndFindTasks(n,m:byte;var a:mas2d;var sum:integer;var aa:mas);
var i,j:integer;
     as,bs:byte;
begin
  as :=0;bs:=0;
  for i:=1 to n do
   for j:=1 to m do
    begin
         repeat
           writeln('vvedite A[',i,',',j,'])');readln(a[i,j]);
         until ( a[i,j] in [2..12]);
         if i+j=n+1 then as:=as+a[i,j];
         if i+j>n+1 then bs:=bs+a[i,j];
         aa[i]:=aa[i] + a[i,j];
    end;
  sum:=as+bs;
end;
procedure OutData(n,m:byte;a:mas2d);
var i,j:byte;
begin
 for i:=1 to n do
  begin
   for j:=1 to m do
    write(a[i,j]:6);
   writeln;
  end;
end;
procedure OutData2(n:byte;aa:mas);
var i:byte;
begin
 for i:=1 to n do
  write(aa[i]:3);
  writeln;
end;
BEGIN
clrscr;
repeat
   write('N = ');readln(n);
until n in [3..10];
{repeat
   write('M = ');readln(m);
until m in [3..10];}
m:=n;

ReadDataAndFindTasks(n,m,a,s,aa);
writeln('S = ',s);
outdata(n,m,a);
outdata2(n,aa);
readln;
end.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.

Последний раз редактировалось Aleksandr H.; 24.10.2016 в 22:26.
Aleksandr H. вне форума Ответить с цитированием
Старый 25.10.2016, 17:53   #3
Rasta28
Новичок
Джуниор
 
Регистрация: 24.10.2016
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Точно не квадратная матрица имеет побочную диагональ?
Точно
А это к какой задаче?
Rasta28 вне форума Ответить с цитированием
Старый 25.10.2016, 18:47   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

к 2ум
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задачи в Pascal MusicalBoy Фриланс 2 03.05.2012 19:08
3 задачи (Pascal) Валера01 Помощь студентам 1 17.02.2012 12:58
а free pascal не читает задачи которые написаны на turbo pascal? demonara Паскаль, Turbo Pascal, PascalABC.NET 3 25.05.2009 16:28
2 задачи по pascal MyaSnIKs Помощь студентам 4 15.03.2009 14:48