Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для Alexar Makken
13 / 13 / 4
Регистрация: 14.11.2010
Сообщений: 54

Заменить максимальный элемент суммой всех нечётных элементов матрицы

08.06.2011, 02:03. Показов 961. Ответов 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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
program Zadanie;
uses crt;
const
     n=3;
     m=3;
type Matrix= array[1..n,1..m] of integer;
var  a: Matrix;
     F1,F2: Text;
     i,j,imx,imn,jmx,jmn: integer;
     buf1,buf2: integer;
     SumCh,SumNch: integer;
function Nech(Ar: Matrix; ArS1,ArS2: integer): integer;
var  i,j: integer;
     S_nch: integer;
begin
     for i:=1 to ArS1 do
     for j:=1 to ArS2 do
     begin
          if (i mod 2 <> 0) then
          S_nch:= S_nch + Ar[i,j];
     end;
     Nech:=S_nch;
end;
function Chet(Ar: Matrix; ArS1,ArS2: integer): integer;
var  i,j: integer;
     S_ch: integer;
begin
     for i:=1 to ArS1 do
     for j:=1 to ArS2 do
     begin
          if (i mod 2 = 0) then
          S_ch:= S_ch + Ar[i,j];
     end;
     Chet:=S_ch;
end;
{Нахождение минимального элемента массива}
procedure GetMin(Ar: Matrix; ArS1,ArS2,imin,jmin: integer);
var  i,j: integer;
     min: integer;
begin
     //if ArS1<1  then  exit;
     Min := Ar[1,1];
     imin:=1;
     jmin:=1;
     for i:=1 to ArS1 do
     for j:=2 to ArS2 do
     if Ar[i,j]<min then
     begin
          Min:=Ar[i,j];
          imin:=i;
          jmin:=j;
     end;
end;
{Нахождение максимального элемента массива}
procedure GetMax(Ar: Matrix; ArS1,ArS2,imax,jmax: integer);
var  i: integer;
     max: integer;
begin
     //if ArS1<1  then  exit;
     Max := Ar[1,1];
     imax:=1;
     jmax:=1;
     for i:=1 to ArS1 do
     for j:=2 to ArS2 do
     if Ar[i,j]<Max then
     begin
          Max:=Ar[i,j];
          imax:=i;
          jmax:=j;
     end;
end;
begin
   clrscr;
   assign(F1,'Matrix1.txt');
   reset(F1);
   assign(F2,'Matrix2.txt');
   rewrite(F2);
   for i:=1 to n do
   begin
        for j:=1 to m do
        begin
             read(F1,a[i,j]);
             write(a[i,j]:4);
        end;
        writeln;
   end;
 
   SumCh:=Chet(a,n,m);
   SumNch:=Nech(a,n,m);
   GetMin(a,n,m,imn,jmn);
   GetMax(a,n,m,imx,jmx);
 
 
   for i:=1 to n do
   for j:=1 to m do
   begin
        buf1:=a[imn,jmn];
        a[imn,jmn]:=SumCh;
        SumCh:=buf1;
        buf2:=a[imx,jmx];
        a[imx,jmx]:=SumCh;
        SumCh:=buf2;
   end;
  for i:=1 to n do
   for j:=1 to m do
   write(F2,a[i,j]:4);
   close(F1);
   close(F2);
{Вывод массива}
 
end.
Вылетает ошибка на 97 строке (ош. 0- выход за границы изменения индекса [1..3]
Pascal
1
 buf1:=a[imn,jmn];
Не считает индексы минимального элемента, принимает их за равные 0 и выдает ошибку... Помогите разобраться!(((
Вложения
Тип файла: txt Matrix1.txt (19 байт, 15 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.06.2011, 02:03
Ответы с готовыми решениями:

Заменить максимальный элемент матрицы суммой всех нечётных элементов матрицы
1.Ввести с клавиатуры координаты четырёх точек, являются ли они вершинами квадрата, ромба? 2.В текстовом файле А записана целочисленная...

Заменить максимальный элемент диагонали матрицы суммой строки.
Здравствуйте.. Составить програму для размещения суммы положительных элементов строки с номером К (к водится с клавиатуры) на месте...

В массиве каждый элемент заменить суммой всех предыдущих элементов, первый заменить на 0
помогите пожалуйста! Например, в массиве 5 чисел: 1,2,3,4,5 Они должны заменяться таким образом: A =4+3+2+1=10, и т.д. а первое заменяем...

1
Mobile Software Engineer
Эксперт С++
 Аватар для Ev[G]eN
5381 / 1585 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
08.06.2011, 20:35
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
type
 TMat = array[1..100, 1..100] of integer;
var
 Mat: TMat;
 i, j, n, m: integer;
 
procedure Max_NeChetSumm(var Mat: TMat);
var
 maxi, maxj, summ, i, j: integer;
begin
 writeln;
 maxi:=1; maxj:=1; summ:=0;
 for i:=1 to n do
  begin
   for j:=1 to m do
    begin
     if Mat[i, j] > Mat[maxi, maxj] then
      begin
       maxi:=i;
       maxj:=j;
      end;
     if Mat[i, j] mod 2 <> 0 then
      summ:=summ+Mat[i, j];
    end;
  end;
 writeln('Сумма нечетных элементов: ', summ);
 writeln('Максимальный элемент: ', Mat[maxi, maxj]);
 Mat[maxi, maxj]:=summ; 
 writeln('Переписаная матрица: ');
  for i:=1 to n do
   begin
     for j:=1 to m do
      write(Mat[i, j]:4);
    writeln;
   end;
 writeln;
end;
 
procedure Min_ChetSumm(var Mat: TMat);
var
 mini, minj, summ, i, j: integer;
begin
 writeln;
 mini:=1; minj:=1; summ:=0;
 for i:=1 to n do
  begin
   for j:=1 to m do
    begin
     if Mat[i, j] < Mat[mini, minj] then
      begin
       mini:=i;
       minj:=j;
      end;
     if Mat[i, j] mod 2 = 0 then
      summ:=summ+Mat[i, j];
    end;
  end;
 writeln('Сумма четных элементов: ', summ);
 writeln('Минимальный элемент: ', Mat[mini, minj]);
 Mat[mini, minj]:=summ; 
 writeln('Переписаная матрица: ');
  for i:=1 to n do
   begin
     for j:=1 to m do
      write(Mat[i, j]:4);
    writeln;
   end;
 writeln;
end;
 
begin
 writeln('Введите размерность матрицы: ');
 readln(n, m);
 writeln('Исходная матрица: ');
  for i:=1 to n do
   begin
    for j:=1 to m do
     begin
      Mat[i, j]:=random(100);
      write(Mat[i, j]:4);
     end;
    writeln;
   end;
 Max_NeChetSumm(Mat);
 Min_ChetSumm(Mat);
end.
в файл запишете сами...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.06.2011, 20:35
Помогаю со студенческими работами здесь

Дан файл вещественных чисел. Заменить максимальный элемент суммой первого и последнего элементов
Дан файл вещественных чисел. Заменить максимальный элемент. Суммой первого и последнего элементов.

Заменить максимальный элемент матрицы суммой элементов главной диагонали
Уважаемые программисты, очень прошу помочь с решением двух задач на Паскале. 1. Дан массив F(25). Получить их исходного массива два...

В массиве первый элемент заменить суммой нечетных положительных элементов, а последний элемент - суммой четных
В целочисленном массиве первый элемент заменить суммой нечетных положительных элементов, а последний элемент - суммой четных отрицательных

В каждой строке матрицы заменить максимальный элемент суммой элементов с четными индексам
Всем добрый вечер! Помогите решить задачу, пожалуйста. Скоро экзамен, решаю типовые задания. Дана матрица А, состоящая из М строк и М...

Заменить элемент матрицы А(m,n) на максимальный по модулю элемент из всех отрицательных элементов этой матрицы
Помогите написать программу для этой задачки: Дана матрица А. Нужно заменить элемент матрицы А(m,n) на максимальный по модулю элемент из...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru