Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
ingwa
0 / 0 / 1
Регистрация: 24.11.2017
Сообщений: 4
#1

Изменить матрицу - Turbo Pascal

06.12.2017, 23:42. Просмотров 103. Ответов 1
Метки нет (Все метки)

Изменить матрицу, заменив каждый отрицательный элемент, лежащий выше главное диагонали, его абсолютной величиной.Найти также сумму элементов главное диагонали.

Мой код
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
program matrix;
  var
    p:array[1..15,1..15] of real;
    s:array[1..15,1..15] of real;
    i,j,n,m:integer;
    sum:real;
    input,output:text;
  begin
    assign(input,'input.txt');
    assign(output,'result.txt');
    reset(input);
    rewrite(output);
    read(input,m);
    readln(input,n);
    for i:=1 to m do
      begin
        for j:=1 to n do
          begin
            read(input, p[i,j]);
            while j>i do
              begin
                if p[i,j]>0 then
                  begin
                  s[i,j]:=p[i,j];
                  j:=j+1;
                  end
                else
                  begin
                    s[i,j]:=abs(p[i,j]);
                    j:=j+1;
                  end;
              end;
                 s[i,j]:=abs(p[i,j]);
                 j:=j+1;
               end;
            end;
        for i:=1 to m do
          begin
            for j:=1 to n do
              if i=j then
                begin
                  sum:=sum+p[i,j];
                end;
          end;
      writeln(output,'sum= ',sum:3:3);
      writeln(output,'s',s[i,j]:3:3);
      close(input);
      close(output);
    end.
  end.

выдает ошибку 201
http://www.cyberforum.ru/turbo-pascal/thread227608.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2017, 23:42
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Изменить матрицу (Turbo Pascal):

Изменить квадратную матрицу путем перестановки элементов
Изменить квадратную матрицу путем перестановки элементов строки, содержащей...

Изменить матрицу, увеличив каждый элемент, который меньше элемента главной диагонали
Помогите пожалуйста решить задачу. Дан массив c1,c2,...,cn Изменить...

Изменить программу чтобы можно было вводить матрицу и ее размерность, и чтобы выводились собственные векторы
Нашел программу для нахождения собственных значений методом вращений якоби на...

Преобразовать матрицу символов в матрицу кодов и наоборот (через модули)
unit modu; interface const n=3; type {процедурный тип} simv=array of char;...

Ввести матрицу А, найти сумму четных элементов, построить матрицу C по заданной формуле
3)Составить программу, которая: вводит с клавиатуры A в виде матрицы и выводит...

1
Puporev
Модератор
54131 / 41764 / 28875
Регистрация: 18.05.2008
Сообщений: 98,291
07.12.2017, 10:36 #2
Не знаю Ваше задание, но думаю речь идет о квадратной матрице, поскольку говорится о главной диагонали.
Поэтому файл input нужно примерно в таком виде
Код
7
 -4.51  5.06  8.86 -2.61  1.85  9.64  2.15
  7.80 -6.51  4.17  7.97  1.31 -4.48  9.06
 -1.81  1.08 -1.75  3.44  1.04  6.73  6.49
  0.21  0.34  8.84  6.01  7.15  4.79 -5.57
  4.41  0.07 -2.82 -8.34  8.59 -1.26 -1.87
  7.35  5.92  1.78  4.11 -4.38  1.47  1.27
  4.29  1.28  8.32  3.12  6.16  6.15 -6.82
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
var p:array[1..15,1..15] of real;
    n,i,j:integer;{матрица квадратная, m не нужно}
    sum:real;
    input,output:text;
begin
assign(input,'input.txt');
assign(output,'result.txt');
reset(input);
rewrite(output);
read(input,n);
sum:=0;
for i:=1 to n do
for j:=1 to n do
 begin
  read(input, p[i,j]);
  if j=i then sum:=sum+p[i,j];
 end;
close(input);
for i:=1 to n-1 do
for j:=i+1 to n do
if p[i,j]<0 then p[i,j]:=-p[i,j];
for i:=1 to n do
 begin
  for j:=1 to n do
  write(output,p[i,j]:6:2);
  writeln(output);
 end;
writeln(output,'Сумма главной диагонали=',sum:0:2);
close(output);
writeln('Матрица прочитана, преобразована и записана в файл output.txt');
readln
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2017, 10:36
Привет! Вот еще темы с решениями:

Заполнить матрицу случайными числами. Отобразить матрицу симметрично относительно главной диагонали
Паскаль.Заполнить матрицу случайными числами. Отобразить матрицу симметрично...

Не используя дополнительную матрицу, повернуть квадратную матрицу по часовой стрелке на 180 градусов
Не используя дополнительную матрицу,повернуть квадратную матрицу по часовой...

Модули: преобразовать матрицу символов в матрицу кодов и наоборот
Здравствуйте, помогите пожалуйста с решением задачи. Запрограммировать решение...

Сформировать матрицу с единичной побочной диагональю (обменную матрицу)
Сформировать матрицу 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru