IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Задача с матрицой
kostya
сообщение 6.12.2005 9:23
Сообщение #1





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


Пожалуйста, помогите решить задачу. Дана целочисленная, прямоугольная матрица. Найти номер строки, которая содержит максимальное кол-во нечётных элементов. Максимальное кол-во нечётных элементов я нашёл. Помогите вывести номер строки. Заранее спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 8)
klem4
сообщение 6.12.2005 9:30
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


что конерктно не получается ?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
kostya
сообщение 6.12.2005 9:32
Сообщение #3





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


Вывести номер строки
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 6.12.2005 9:33
Сообщение #4


Гость






Программу, как ты находишь макс. кол-во элементов, приведи...
 К началу страницы 
+ Ответить 
klem4
сообщение 6.12.2005 9:52
Сообщение #5


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


ф-я возвращает количество нечетных элементов в строке i


const
n=10;
type
TMx = array[1..n,1..n] of integer;
...
function GetCount(x : TMx; i : byte) : byte;
var
count,j: byte;
begin
count := 0;
for j := 1 to n do
if odd(x[i,j]) then inc(count);
GetCount := count;
end;


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
kostya
сообщение 6.12.2005 10:52
Сообщение #6





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


Максимальное число я нашел так:
program pr1;
const n=4; m=4;
var
a:array[1..n,1..m] of integer;
b:array[1..n] of integer;
i,j,x,y,max,ij:integer;

begin
for i:=1 to n do begin
for j:=1 to m do read(a[i,j]);
end;

for i:=1 to m do begin
y:=0;
for j:=1 to n do
If a[i,j] mod 2=1 then y:=y+1;
b[i]:=y;
end;

max:=-100;
for i:=1 to n do begin
If b[i]>max then max:=b[i];
end;


Сообщение отредактировано: volvo - 6.12.2005 11:15
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
zetsokol
сообщение 6.12.2005 10:56
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Мужской
Реальное имя: Александр

Репутация: -  0  +


для того чтоб найти строку в какой больше нечетных нужно их сравнить

........
read(n);
........
for s:=1 to n-1 do begin

for i:=1 to n-s do begin
Nechet1:=0; Nechet2:=0;
for j:=1 to k do if odd(a[i,j]) then Nechet1:=Nechet1+inc(count);
for j:=1 to k do if odd(a[i+1,j]) Nechet2:=Nechet2+inc(count)

if Nechet1>Nechet2 then
..................................................
write(i); {вывод номер строки}
end;
end;


Вот, что-то примерно так если, что не обижайся
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 6.12.2005 11:13
Сообщение #8


Гость






zetsokol, объясни мне, зачем тебе понадобилось 4 вложенных цикла, когда здесь 2 за глаза хватит?

Кстати, с чего это ты решил, что
Цитата(Правила Раздела)
7. Проверяйте программы перед тем, как запостить их!!!
к тебе уже не относится?

kostya,
исправь вот так:
  max:=1; 
for i:=1 to n do begin
If b[i]>b[max] then max:=i;
end;


теперь у тебя в max будет номер строки
 К началу страницы 
+ Ответить 
kostya
сообщение 6.12.2005 13:13
Сообщение #9





Группа: Пользователи
Сообщений: 6
Пол: Мужской

Репутация: -  0  +


Спасибо вам всем большое!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 17:03
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"