Новые сообщения · Правила  
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Berestovskiy  
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Помогите, пожалуйста, решить задачу!!!
Помогите, пожалуйста, решить задачу!!!
Помогите, пожалуйста решить задачу:
Дана матрица размера M:N. Продублировать строку матрицы содержащую ее максимальный элемент.
1 | Автор: DariaSpeedy | 2011-05-13, 19:33   |  Репутация: [ + 0 ]
var A:array[1..100,1..100] of integer; i,j,k,m,n,c:integer;
begin
read (m,n);
for i:=1 to m do
for j:=1 to n do
begin
read (A[i,j]);
if A[i,j]>c then begin
c:=A[i,j]; k:=i; end; end;
for i:=1 to n do
write (A[k,i],#32);
writeln;
for i:=1 to n do
write (A[k,i],#32);
end.
2 | Автор: HWOARANG | 2011-05-14, 09:30   |  Репутация: [ + 20 ]
А вы уверены, что это правильное решение?
3 | Автор: DariaSpeedy | 2011-05-14, 18:12   |  Репутация: [ + 0 ]
Я уверен, что моё правильное:)

var
a:array[1..10,1..10]of byte;
n,m,i,j,p,pmax:byte;
begin
read(n,m);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
for i:=1 to n do
for j:=1 to m do
if a[i,j]>pmax then begin pmax:=a[i,j];p:=i;end;
for j:=1 to m do
write(a[p,j],' ');
end.

"Спасибо" принимается повышением репутации ( Зелёный плюсик:) ). Спасибо:)


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
4 | Автор: Berestovskiy | 2011-05-14, 20:09 | Изменено: Berestovskiy - Сб, 2011-05-14, 21:54   |  Репутация: [ + 211 ]
Quote (DariaSpeedy)
А вы уверены, что это правильное решение?

Уверен, если я конечно правильно понял условие задачи.
Дана матрица размерностью NxM. Вывести на экран два раза строку, в которой находится ее максимальный элемент.
Или вывести надо было только один раз строку? А то слово продублировать меня смущает. Если один раз то последний цикл убрать и буде выводить один раз.

Добавлено (14.05.11, 21:37)
---------------------------------------------

Quote (Berestovskiy)
Я уверен, что моё правильное:)

Введи матрицу 3х3
1 2 3
4 5 6
2 3 4

и посмотри что у тебя выводит ))

5 | Автор: HWOARANG | 2011-05-14, 21:37 | Изменено: HWOARANG - Сб, 2011-05-14, 21:38   |  Репутация: [ + 20 ]
Ой)

Я завтыкал присвоить pmax)))

Изменил, готово:)


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
6 | Автор: Berestovskiy | 2011-05-14, 21:54 | Изменено: Berestovskiy - Сб, 2011-05-14, 21:55   |  Репутация: [ + 211 ]


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
6 | Автор: Berestovskiy | 2011-05-14, 21:54 | Изменено: Berestovskiy - Сб, 2011-05-14, 21:55   |  Репутация: [ + 211 ]
Quote (Berestovskiy)
Изменил, готово:)

спер мой код )))
7 | Автор: HWOARANG | 2011-05-14, 22:10   |  Репутация: [ + 20 ]
7 | Автор: HWOARANG | 2011-05-14, 22:10   |  Репутация: [ + 20 ]
Quote (HWOARANG)
спер мой код )))

Так тебе и надо))


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
8 | Автор: Berestovskiy | 2011-05-14, 22:20   |  Репутация: [ + 211 ]
Quote (HWOARANG)
Уверен, если я конечно правильно понял условие задачи. Дана матрица размерностью NxM. Вывести на экран два раза строку, в которой находится ее максимальный элемент. Или вывести надо было только один раз строку? А то слово продублировать меня смущает. Если один раз то последний цикл убрать и буде выводить один раз.

Программа после ответа выводит еще много нулей и левых цифр. Это так и должно быть?
и еще выдает runtime error...

Quote (Berestovskiy)
var a:array[1..10,1..10]of byte; n,m,i,j,p,pmax:byte; begin read(n,m); for i:=1 to n do for j:=1 to m do read(a[i,j]); for i:=1 to n do for j:=1 to m do if a[i,j]>pmax then begin pmax:=a[i,j];p:=i;end; for j:=1 to m do write(a[p,j],' '); end.

а при вашем решении он просто выбрасывает из программы, когда я введу матрицу=(
9 | Автор: DariaSpeedy | 2011-05-15, 18:03   |  Репутация: [ + 0 ]
Quote (DariaSpeedy)
runtime error...

А после этого не идет случайно число 106 ? Если идет то это ошибка ввода. Скорей всего вводите буквы. Если нет то напишите номер ошибки и данные, которые вводите.

Quote (DariaSpeedy)
он просто выбрасывает из программы

В смысле выбрасывает? Если возвращает к коду то в конце перед последним ендом поставьте readln. Результат не задерживается на экране вот и выбрасывает к коду, если опять запустить программу то результат будет на экране.
10 | Автор: HWOARANG | 2011-05-15, 18:45   |  Репутация: [ + 20 ]
Или Alt+А5))

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
11 | Автор: Berestovskiy | 2011-05-15, 19:12   |  Репутация: [ + 211 ]


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
11 | Автор: Berestovskiy | 2011-05-15, 19:12   |  Репутация: [ + 211 ]
Quote (HWOARANG)
В смысле выбрасывает? Если возвращает к коду то в конце перед последним ендом поставьте readln. Результат не задерживается на экране вот и выбрасывает к коду, если опять запустить программу то результат будет на экране.

Я поняла, отчего ошибка=)) Только он выводит не строку с макс. элементом, а просто дублирует последнюю строку
12 | Автор: DariaSpeedy | 2011-05-15, 20:38   |  Репутация: [ + 0 ]
Ну если дублирует последнюю значит макс.элемент в последней строке ) Хотя ошибка не исключена, какие данные вводите, проверю у себя.
13 | Автор: HWOARANG | 2011-05-16, 10:44   |  Репутация: [ + 20 ]
Да нет, я специально проверяла), даже если макс. элемент не на посл. строке, то он все равно выдает последнюю(
14 | Автор: DariaSpeedy | 2011-05-16, 11:08   |  Репутация: [ + 0 ]
14 | Автор: DariaSpeedy | 2011-05-16, 11:08   |  Репутация: [ + 0 ]
Вот, нормально всё выдает:)

var
a:array[1..10,1..10]of byte;
n,m,i,j,p,pmax:byte;
begin
read(n,m);
for i:=1 to n do
for j:=1 to m do
read(a[i,j]);
for i:=1 to n do
for j:=1 to m do
if a[i,j]>pmax then begin pmax:=a[i,j];p:=i;end;
for j:=1 to m do
write(a[p,j],' ');
end.

"Спасибо" принимается повышением репутации ( Зелёный плюсик:) ). Спасибо:)


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
15 | Автор: Berestovskiy | 2011-05-16, 11:11   |  Репутация: [ + 211 ]
скажите, плз, что вы вводите и что у вас выходит, а то у меня чтот не то выдает=(
16 | Автор: DariaSpeedy | 2011-05-16, 12:02   |  Репутация: [ + 0 ]
Пример ввода:
3 3
9 8 7
1 2 3
4 5 6
Вывод:
9 8 7


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
17 | Автор: Berestovskiy | 2011-05-16, 12:03   |  Репутация: [ + 211 ]
А когда я ввожу таку матрицу, он просто не реагирует
18 | Автор: DariaSpeedy | 2011-05-16, 12:27   |  Репутация: [ + 0 ]
оО
Не знаю, я могу скрин-шот сделать если нужно, всё работает


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
19 | Автор: Berestovskiy | 2011-05-16, 12:28   |  Репутация: [ + 211 ]


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
19 | Автор: Berestovskiy | 2011-05-16, 12:28   |  Репутация: [ + 211 ]
http://vkontakte.ru/feed#/berestovskiy?z=photo19369656_261850829%2Fphotos19369656

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
20 | Автор: Berestovskiy | 2011-05-16, 12:30   |  Репутация: [ + 211 ]
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Помогите, пожалуйста, решить задачу!!!
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: