даймонд
1

Если в прямоугольной матрице

13.09.2013, 21:09. Показов 1204. Ответов 1
Метки нет (Все метки)

Нужна помощь с таким заданием:
Если в прямоугольной матрице А (m*n) меньше половины столбцов содержит отрицательные элементы, то все элементы с нечетными номерами столбцов умножить на 10. В противном случае все отрицательные элементы матрицы возвести в квадрат. При выполнении нужно максимально задействовать процедуры и функции.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.09.2013, 21:09
Ответы с готовыми решениями:

Циклический сдвиг элементов в прямоугольной вещественной матрице
Помогите написать лабораторную, очень надо. Заранее благодарен!! Вот условие: Дана...

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

В заданной прямоугольной матрице найти столбец с минимальной суммой элементов
В заданной прямоугольной матрице найти столбец с минимальной суммой элементов.

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

1
Почетный модератор
64254 / 47554 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
13.09.2013, 21:42 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
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
uses crt;
const nmax=15;
type mtr=array[1..nmax,1..nmax] of integer;
procedure vvod(var a:mtr;var m,n:byte);
var i,j:byte;
begin
repeat
write('Количество строк до ',nmax,' m=');
readln(m);
until m in [1..nmax];
repeat
write('Количество столбцов до ',nmax,' n=');
readln(n);
until n in [1..nmax];
for i:=1 to m do
for j:=1 to n do
a[i,j]:=-5+random(30);
end;
procedure vyvod(a:mtr;m,n:byte;s:string);
var i,j:byte;
begin
writeln(s);
for i:=1 to m do
 begin
  for j:=1 to n do
  write(a[i,j]:5);
  writeln;
 end;
end;
function kl_stb(a:mtr;m,n:byte):byte;
var i,j,k,ot:byte;
begin
k:=0;
for j:=1 to n do
 begin
  i:=1;
  ot:=0;
  while(i<=m)and(ot=0) do
  if a[i,j]<0 then ot:=1
  else i:=i+1;
  if ot=1 then k:=k+1;
 end;
kl_stb:=k
end;
procedure umn(var a:mtr;m,n:byte);
var i,j:byte;
begin
j:=1;
while j<=n do
 begin
  for i:=1 to m do
  a[i,j]:=a[i,j]*10;
  j:=j+2
 end;
end;
procedure otr(var a:mtr;m,n:byte);
var i,j:byte;
begin
for i:=1 to m do
for j:=1 to n do
if a[i,j]<0 then a[i,j]:=sqr(a[i,j]);
end;
var a:mtr;
    m,n,stb,k:byte;
begin
clrscr;
randomize;
vvod(a,m,n);
vyvod(a,m,n,'Исходная матрица:');
stb:=kl_stb(a,m,n);
writeln('Количество столбцов с отрицательными элементами=',stb);
if n mod 2=0 then k:=n div 2
else k:=n div 2+1;
if stb<k then
 begin
  writeln('Количество столбцов с отрицательными элементами меньше половины');
  umn(a,m,n);
  vyvod(a,m,n,'Умножене в нечетных столбцах на 10');
 end
else
 begin
  writeln('Количество столбцов с отрицательными элементами не меньше половины');
  otr(a,m,n);
  vyvod(a,m,n,'Возведение отрицательных в квадрат');
 end;
readln
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.09.2013, 21:42
Помогаю со студенческими работами здесь

Функция для нахождения в прямоугольной матрице номера строки, имеющей максимальную сумму элементов
Всем доброго времени суток! Помогите пожалуйста с заданием в котором нужно создать функцию для...

В прямоугольной матрице выявить все квадратные подматрицы, в которых число чётных и нечётных элементов одинаково
В прямоугольной матрице выявить все квадратные подматрицы, в которых число чётных и нечётных...

В прямоугольной матрице размером M*K
В прямоугольной матрице размером M*K, имеющее имя MAM содержаться целые числа. M-число...

В прямоугольной матрице каждый нулевой элемент заменить средним арифметическим значением
Помогите решить:cry: В прямоугольной матрице каждый нулевой элемент заменить средним...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru