Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
204 / 20 / 1
Регистрация: 29.10.2009
Сообщений: 430
1

Найти в каждой строке матрици максимальный и минимальный элементы

07.11.2009, 11:17. Просмотров 4609. Ответов 23
Метки нет (Все метки)

Задача1:
Матрица А(10,10). Найти в каждой строке матрици максимальный и минимальный элементы и поместить их на первое и второе место в строке соответственно. Исходную полученную матрицу вывести на печать.

Задача2:
Найти наименьшие элементы и номера строки столбцов, в которых они рассположены, для матриц А(10,15) и В(15,12).

Задача3:
Вычислить суммы положительных элементов каждой строки для матриц А(10,12) и В(15,10)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2009, 11:17
Ответы с готовыми решениями:

Найти в каждой строке матрицы максимальный и минимальный элементы.
Дана матрица B.Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их с...

Найти в каждой строке матрицы максимальный и минимальный элементы
Обработать на ЭВМ матрицу. Вывести на печать результаты и исходную матрицу в общепринятом виде....

Найти в каждой строке матрицы максимальный и минимальный элементы
Найти в каждой строке матрицы максимальный и минимальный элементы и поместить их на место первого и...

Найти максимальный и минимальный элементы в каждой строке и поменять их местами с элементами первой и последней позиции соответственно
Program Proga; uses crt; var a: array of real; i,j:integer; x,y,max,min,buf:real; ...

23
4337 / 1469 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
07.11.2009, 11:52 2
#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
uses crt;
var a:array[1..10,1..10]of integer;
min,max,i,j:integer;
 
procedure swap(var a,b:integer);
var t:integer;
begin
 t:=a;
 a:=b;
 b:=t;
end;
 
begin
 clrscr;
 randomize;
 for i:=1 to 10 do
 begin
  for j;=1 to 10 do
  begin
   a[i,j]:=random(100);
   write(a[i,j]:3);
  end;
  writeln;
 end;
 
 for i:=1 to 10 do
 begin
  min:=1;
  max:=2;
  for j:=1 to 10 do if a[i,j]>a[i,max] then max:=j else if a[i,j]<a[i,min] then min:=j;
  swap(a[i,1],a[i,max]);
  swap(a[i,2],a[i,min]);
 end;
 
 for i:=1 to 10 do
 begin
  for j:=1 to 10 do write(a[i,j]:3);
  writeln;
 end;
 readln;
end.
Добавлено через 9 минут
#2
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
uses crt;
var a:array[1..10,1..15]of integer;
     b:array[1..15,1..12]of integer;
     min,i,j:integer;
  
begin
 clrscr;
 randomize;
 writeln('Массив А: ');
 for i:=1 to 10 do
 begin
  for j:=1 to 15 do
  begin
   a[i,j]:=random(100);
   write(a[i,j]:3);
  end;
  writeln;
 end;
 
 for i:=1 to 10 do
 begin
  min:=1;
  for j:=1 to 15 do if a[i,j]<a[i,min] then min:=j;
  writeln('Минимальный элемент в ',i,'-ой строке = ',a[i,min], ' и находится в ',min,'-ом столбце');
 end; 
 
 writeln('Массив В: ');
 for i:=1 to 15 do
 begin
  for j:=1 to 12 do
  begin
   b[i,j]:=random(100);
   write(b[i,j]:3);
  end;
  writeln;
 end;
 
 for i:=1 to 15 do
 begin
  min:=1;
  for j:=1 to 12 do if b[i,j]<b[i,min] then min:=j;
  writeln('Минимальный элемент в ',i,'-ой строке = ',b[i,min], ' и находится в ',min,'-ом столбце');
 end; 
 readln; 
end.
1
204 / 20 / 1
Регистрация: 29.10.2009
Сообщений: 430
09.11.2009, 17:02  [ТС] 3
Что значит этот код:
1.
Perl
1
2
3
4
5
6
7
procedure swap(var a,b:integer);
var t:integer;
begin
 t:=a;
 a:=b;
 b:=t;
end;
2.
Pascal
1
2
3
4
5
6
7
8
for i:=1 to 10 do
 begin
  min:=1;
  max:=2;
  for j:=1 to 10 do if a[i,j]>a[i,max] then max:=j else if a[i,j]<a[i,min] then min:=j;
  swap(a[i,1],a[i,max]);
  swap(a[i,2],a[i,min]);
 end;
3.

Добавлено через 2 минуты
Можете мне написать коментарии к программе( в каждом действии, что вводим, как обрабатываем и таком духе). Нужно понят.
0
267 / 258 / 47
Регистрация: 08.10.2009
Сообщений: 554
09.11.2009, 17:41 4
Цитата Сообщение от k1ry4 Посмотреть сообщение
#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
uses crt;
var a:array[1..10,1..10]of integer;
min,max,i,j:integer;
 
procedure swap(var a,b:integer); {Процедура чтоб поменять значения a и b}
var t:integer;
begin
 t:=a;
 a:=b;
 b:=t;
end;
 
begin
 clrscr;
 randomize;
 
{цикл для заполнения массива произвольными значениями и печать этого массива}
 for i:=1 to 10 do 
 begin
  for j;=1 to 10 do
  begin
   a[i,j]:=random(100);
   write(a[i,j]:3);
  end;
  writeln;
 end;
 
for i:=1 to 10 do
 begin
  min:=1;
  max:=2;
{Определение максимального и минимального элемента и запись в соответсвующие переменные значение столбцов}
  for j:=1 to 10 do if a[i,j]>a[i,max] then max:=j else if a[i,j]<a[i,min] then min:=j; {находим минимальный и максимальный элемент в строке и дальше процедурой swap меняем значения на первый и второй столбец }
  swap(a[i,1],a[i,max]); {обмен значений максимального элемента и первого столбца}
  swap(a[i,2],a[i,min]); {обмен значений минимального элемента и второго столбца}
 end;
 
 for i:=1 to 10 do {Цикл для печати массива}
 begin
  for j:=1 to 10 do write(a[i,j]:3);
  writeln;
 end;
 readln;
end.
Добавлено через 9 минут
#2
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
uses crt;
var a:array[1..10,1..15]of integer;
     b:array[1..15,1..12]of integer;
     min,i,j:integer;
  
begin
 clrscr;
 randomize;
 writeln('Массив А: ');
 
{Заполнение массива произвольными значениями и вывод массива}
 for i:=1 to 10 do
 begin
  for j:=1 to 15 do
  begin
   a[i,j]:=random(100);
   write(a[i,j]:3);
  end;
  writeln;
 end;
 
{Цикл для определения минимального элемента в каждой строке и сообщение об этом}
 for i:=1 to 10 do
 begin
  min:=1;
  for j:=1 to 15 do if a[i,j]<a[i,min] then min:=j; {находим минимальный элемент в каждой строке и считываем его столбец}
  writeln('Минимальный элемент в ',i,'-ой строке = ',a[i,min], ' и находится в ',min,'-ом столбце'); {Тут выводим на каком столбце, строке и значение элемента}
 end; 
 
 
{Тут в принципе то же самое что и для массива А} 
 writeln('Массив В: ');
 for i:=1 to 15 do
 begin
  for j:=1 to 12 do
  begin
   b[i,j]:=random(100);
   write(b[i,j]:3);
  end;
  writeln;
 end;
 
 for i:=1 to 15 do
 begin
  min:=1;
  for j:=1 to 12 do if b[i,j]<b[i,min] then min:=j;
  writeln('Минимальный элемент в ',i,'-ой строке = ',b[i,min], ' и находится в ',min,'-ом столбце');
 end; 
 readln; 
end.
Надеюсь понятно

Не по теме:

Поздравьте меня с первым сообщением :p

1
204 / 20 / 1
Регистрация: 29.10.2009
Сообщений: 430
09.11.2009, 18:43  [ТС] 5
Спасибо, теперь понятно.

Не по теме:
Поздравляю )
0
204 / 20 / 1
Регистрация: 29.10.2009
Сообщений: 430
10.11.2009, 22:18  [ТС] 6
А вот еще задачки:
1. Дан массив. Определьть сколько в нем элементов больших его среднеарефмитического.
2. Дана матрица. Найти сумму каждой строки матрици
3. Дан массив.Найти произведение элементов главной диагонали.
4. Дана матрица. Найти разность между минимальным и максимальным элементами матрицы. Определьть сколько элементов матрицы меньше этой разности.

P/S: ну не могу я понять как писать матрици хоть кол теши, особено без примера Очень нужно к завтрашнему дню. И желательно с коментариями пожалуйста.
0
4337 / 1469 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
10.11.2009, 22:22 7
2
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
uses crt;
var a:array[1..10,1..10]of integer;
sum,i,j:integer;
 
begin
 clrscr;
 randomize;
 
{цикл для заполнения массива произвольными значениями и печать этого массива}
 for i:=1 to 10 do 
 begin
  for j;=1 to 10 do
  begin
   a[i,j]:=random(100);
   write(a[i,j]:3);
  end;
  writeln;
 end;
 
for i:=1 to 10 do {перебираем все строки}
 begin
 sum:=0;
  for j:=1 to 10 do sum:=sum+a[i,j]; {и в i-ой строке перебираем все элементы, чтобы вычислит сумму sum}
  writeln('Сумма элементов в ',i,'-ой строке = ',sum); 
 end;
 readln;
end.
0
204 / 20 / 1
Регистрация: 29.10.2009
Сообщений: 430
10.11.2009, 22:28  [ТС] 8
Спасибо k1ry4, надеюсь ты проверяешь на правильность, а то когда компилировать буду вдруг ошибка вылезет
0
4337 / 1469 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
10.11.2009, 22:32 9
3
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
uses crt;
var a:array[1..10,1..10]of integer;
pr,i,j:integer;
 
begin
 clrscr;
 randomize;
 pr:=1;
{цикл для заполнения массива произвольными значениями и печать этого массива}
 for i:=1 to 10 do 
 begin
  for j;=1 to 10 do
  begin
   a[i,j]:=random(100);
   write(a[i,j]:3);
  end;
  writeln;
 end;
 
for i:=1 to 10 do {перебираем все элементы главной диагонали: a[1,1], a[2,2], a[3,3]...}
 pr:=pr*a[i,i];
 writeln('Произведение=',pr);
 readln;
end.
Добавлено через 1 минуту
SERGEY199100, просто такие задачку уже по 50 раз обсуждались на форуме, поэтому всё пишется уже на автомате. И в следующий раз, рекомендую сначала поискать на форуме такие задачи, а уж потом создавать тему с вопросом.
0
204 / 20 / 1
Регистрация: 29.10.2009
Сообщений: 430
10.11.2009, 22:36  [ТС] 10
Мне просто в первый же день пребыванияна сайте, после заданного мною вопроса, сказали: "Создавайте тему, а не пешите в чужих сообщениях" вот я и пишу в своей теме, про матрици
0
4337 / 1469 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
10.11.2009, 22:47 11
4
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
uses crt;
var a:array[1..10,1..10]of integer;
min,max,count,i,j:integer;
begin
 clrscr;
 randomize;
 
{цикл для заполнения массива произвольными значениями и печать этого массива}
 for i:=1 to 10 do 
 begin
  for j;=1 to 10 do
  begin
   a[i,j]:=random(100);
   write(a[i,j]:3);
  end;
  writeln;
 end;
 
min:=a[1,1];
max:=a[1,2]; 
for i:=1 to 10 do
for j:=1 to 10 do
if a[i,j]>max then max:=a[i,j] else if a[i,j]<min then min:=a[i,j];
 
count:=0;
for i:=1 to 10 do
for j:=1 to 10 do if a[i,j]<max-min then inc(count);
writeln('MIN=',min);
writeln('MAX=',max);
writeln('Разность=',max-min);
writen('Элементов, меньших этой разности=',count);
 readln;
end.
Добавлено через 2 минуты
1
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
uses crt;
var a:array[1..15]of integer;
sr:real;
i,count:integer;
 
begin
 clrscr;
 randomize;
 sr:=0;
 for i:=1 to 15 do
 begin
  a[i]:=random(100);
  write(a[i],' ');
  sr:=sr+a[i];
 end;
 count:=0;
 sr:=sr/15;
 for i:=1 to 15 do if a[i]>sr then inc(count);
 writeln(count);
 readln;
end.
0
204 / 20 / 1
Регистрация: 29.10.2009
Сообщений: 430
10.11.2009, 22:49  [ТС] 12
Вот это скорость ! Вы наверное хрошо в этом разбираетесь Я бы сидел с этими массивами всю ночь и голову ломал.
0
0 / 0 / 0
Регистрация: 09.01.2010
Сообщений: 13
09.01.2010, 16:06 13
а задачу #3 ктонибуть поможет решить?
0
Платежеспособный зверь
8727 / 4140 / 1603
Регистрация: 28.10.2009
Сообщений: 11,179
09.01.2010, 16:14 14
Цитата Сообщение от prize Посмотреть сообщение
а задачу #3 ктонибуть поможет решить?
у тебя 2 раза #3, какую именно? из поста#1 или из поста #6
0
0 / 0 / 0
Регистрация: 09.01.2010
Сообщений: 13
09.01.2010, 16:15 15
из самого первого сообщения

Задача3:
Вычислить суммы положительных элементов каждой строки для матриц А(10,12) и В(15,10)

у меня точно такая же только матрицы 3.3 и 4.4
и суммы вывести на экран
0
3301 / 1362 / 109
Регистрация: 28.04.2009
Сообщений: 4,822
09.01.2010, 16:28 16
Цитата Сообщение от SERGEY199100 Посмотреть сообщение
Задача3:
Вычислить суммы положительных элементов каждой строки для матриц А(10,12) и В(15,10)

Не по теме:

мне думать лень


Вот здесь решалось аналогичное https://www.cyberforum.ru/pasc... 72605.html
0
Платежеспособный зверь
8727 / 4140 / 1603
Регистрация: 28.10.2009
Сообщений: 11,179
09.01.2010, 16:47 17
Цитата Сообщение от SERGEY199100 Посмотреть сообщение
Задача3:
Вычислить суммы положительных элементов каждой строки для матриц А(10,12) и В(15,10)
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
uses crt;
var
a:array[1..10,1..12]of integer;
b:array[1..15,1..10] of integer;
i,j,sum:integer;
begin
randomize;
for i:=1 to 10 do
for j:=1 to 12 do
a[i,j]:=random(20)-10;
writeln('massiv A');
for i:=1 to 10 do
begin
for j:=1 to 12 do
write(a[i,j]:5);
writeln;
end;
writeln('summy dlya massiva A');
for i:=1 to 10 do
begin
sum:=0;
for j:=1 to 12 do
sum:=sum+a[i,j];
write('stroka ',i,' summa=',sum,'  ');
if i mod 2=0 then writeln;
end;
writeln('dlya prodoljeniya najmite klavishu');
readkey;
for i:=1 to 15 do
for j:=1 to 10 do
b[i,j]:=random(20)-10;
writeln('massiv B');
for i:=1 to 15 do
begin
for j:=1 to 10 do
write(b[i,j]:5);
writeln;
end;
writeln('summy dlya massiva B');
for i:=1 to 15 do
begin
sum:=0;
for j:=1 to 10 do
sum:=sum+b[i,j];
write('stroka ',i,' summa=',sum,'  ');
if i mod 2=0 then writeln;
end;
readln;
end.
Добавлено через 14 минут
у меня точно такая же только матрицы 3.3 и 4.4
и суммы вывести на экран
Просто поменяйте везде, где увидите 10 и 12 на 3 и 3, а 15 и 10 на 4 и 4 а строки 27, 28 выбросьте
1
0 / 0 / 0
Регистрация: 09.01.2010
Сообщений: 13
09.01.2010, 16:48 18
про randomize и random можете немного объяснить?
у меня в задании матрицы вводятся тоесть этого не нужно писать?
0
Платежеспособный зверь
8727 / 4140 / 1603
Регистрация: 28.10.2009
Сообщений: 11,179
09.01.2010, 16:52 19
Цитата Сообщение от prize Посмотреть сообщение
про randomize и random можете немного объяснить?
у меня в задании матрицы вводятся тоесть этого не нужно писать?
randomize и random заполняют массивы случайными числами в определённом интервале (здесь от -10 до 10), если нужен ручной ввод, randomize выбрасываем, а вместо
Pascal
1
a[i,j]:=random(20)-10;
(и во всех подобных строках)
пишем
Pascal
1
readln(a[i,j]);
то есть заменяем ручным вводом
0
0 / 0 / 0
Регистрация: 09.01.2010
Сообщений: 13
09.01.2010, 17:46 20
2alexevt
в твоей программе точно складываются только положительные элементы?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.01.2010, 17:46

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти в каждой строке минимальный и максимальный элементы и поместить их на место первого и последнего элемента строки соответственно
Помогите найти ошибку) неприсваивает program mn; uses crt; Var i,j,n,max,min,l,b:integer;...

Найти в каждой строке матрицы максимальный и минимальный элементы и поместить их на место первого и последнего элемента строки соответственно
Найти в каждой строке матрицы максимальный и минимальный элементы и поместить их на место первого...

Модули: Поменять местами максимальный и минимальный элементы в каждой строке матрицы
Поменять местами максимальный и минимальный элементы в каждой строке матрицы (записать модулями и...

Найти в каждой строке матрицы максимальный и минимальный элемент и поменять их с первым и последним элементом соответственно
Товарищи нужна помощь в решении задания...заранее благодарю :bravo: Дана матрица B.Найти в каждой...


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

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

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