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

Предложите,пожалуйста, идеи..

26.02.2011, 21:23. Просмотров 366. Ответов 3
Метки нет (Все метки)

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

Главный вопрос, как "пробежаться" по столбцам?
Второстепенный вопрос, как определить столбец с max количеством нулей?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2011, 21:23
Ответы с готовыми решениями:

предложите другой вариант решения
Задача: вычислить y=sin (x) на интервале от Xn до Xk с шагом h и сравнить...

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

Предложите пользователю ввести с клавиатуры последовательность положительных чисел
Помогите решить задачу к завтршнему дню( 1. Предложите пользователю ввести с...

Паскаль. Три вопроса! Подкиньте идеи, пожалуйста!
1. Не знаю как исключить деление на ноль! Посмотрите плиз кто может и...

Предложите книги о програмировании на языке паскаль
Учусь на прикланой математике. и мне нужен книга которая рассказывает простой....

3
АХ
2 / 2 / 1
Регистрация: 23.02.2011
Сообщений: 13
26.02.2011, 21:42 #2
Если Вы зададите матрицу в виде
Pascal
1
matrix[i][j]
,
то проход по столбцам
Pascal
1
for j:=1 to maxj (общее количество столбцов)
не составит труда.

Проходя по столбцам, надо считать количество 0 в каждом и сравнивать с наибольшим найденным, храня также номер столбца и количество 0 в текущем столбце - что-то вроде
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
//(начало и окончание проги не привожу)
 
var max0: byte;
var nummax0: byte;
var cur0: byte;
var i, j: byte; //счётчики
var matrix: array [1..10, 1..20] of integer;
 
//(ввод данных)
 
nummax0 := 0;
max0  := 0;
for j:=1 to 10 do
begin
     cur0 := 0;
     for i:=1 to 20 do
          if (matrix[i][j]==0) then cur0 := cur0 + 1;
     if (cur0 > max0) then
     begin
          max0 := cur0;
          nummax0 := j;
     end;
end;
writeln("Столбец с наибольшим количеством нулей имеет номер ", nummax0, ", нулей в нём ", max0);
0
Alex355
0 / 0 / 0
Регистрация: 26.02.2011
Сообщений: 7
27.02.2011, 12:19  [ТС] #3
Спасибо, и все-таки еще один вопрос - как проверить, что столбцы матрицы расположены в порядке возрастания числа нулевых элементов?
0
Puporev
Модератор
54405 / 41978 / 28996
Регистрация: 18.05.2008
Сообщений: 98,886
27.02.2011, 13:08 #4
считаем ноли в первом столбце
s1;
Затем в остальных и проверяем
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
f:=true;
j:=2;
while(j<=m)and f do
 begin
  k:=0;
  for i:=1 to n do
  if a[i,j]=0 then k:=k+1;
  if k<=s1 then f:=false
  else
   begin
    s1:=k;
    j:=j+1;
   end;
 end;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2011, 13:08

Предложите какую-нибудь идею пожалуйста
Вообщем, хочу сделать какое-нибудь веб-приложение, для практики, но не знаю...

Оцените, пожалуйста, сборку или предложите альтернативу
1. Бюджет: 60 тысяч рублей. 2. Город и прайс лист магазина, где будет...

идеи, идеи, идеи для начинающих
доброй ночи, уважаемые форумчане. перейдем сразу к делу =) в общем, собираюсь с...


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

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

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