Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 26.03.2009, 19:18   #1 (permalink)
Tamerlaan_Sg
Новичок
 
Регистрация: 26.03.2009
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Задача по массивам в паскале

Помогите пожалуйста решить следующую задачу.(тема - организация программ, содержащих подпрограммы)

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

СПАСИБО
Tamerlaan_Sg вне форума   Ответить с цитированием

Старый 26.03.2009, 19:18
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Не обделяйте вниманием эти ссылки - тут наверняка много полезного

Задача на Паскале и С++
Задача на Паскале

Старый 27.03.2009, 10:25   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Tamerlaan_Sg Посмотреть сообщение
Помогите пожалуйста решить следующую задачу.(тема - организация программ, содержащих подпрограммы)

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

СПАСИБО
К сожалению, Вы толком не написали, куда тут требуется засунуть подпрограмму - вроде как из постановки задачи никак не следует надобность в процедурах или функциях. Так что уточните. Ну а просто решение - пожалуйста:

CONST
N= {enter number of strings}
M= {enter number of columns}
VAR
a,b:ARRAY[1..N,1..M] of REAL;
i,j:INTEGER;
Max,Last:ARRAY[1..M] of REAL;
Num_Max:ARRAY[1..M] of INTEGER;
BEGIN
Randomize;
FOR i:=1 TO N DO
FOR j:=1 TO M DO
BEGIN
a[i,j]:=Random*100-50;
b[i,j]:=a[i,j];
END;
FOR j:=1 TO M DO
Last[j]:=a[N,j];
FOR j:=1 TO M DO
BEGIN
Max[j]:=-50.0;
FOR i:=1 TO N DO
IF a[i,j]>Max[j] THEN
BEGIN
Max[j]:=a[i,j];
Num_Max[j]:=i;
END;
END;
FOR j:=1 TO M DO
BEGIN
b[Num_Max[j],j]:=Last[j];
b[N,j]:=Max[j];
END;
FOR i:=1 TO N DO
BEGIN
FOR j:=1 TO M DO
Write(a[i,j]:8:3);
Writeln;
END;
Writeln;
Writeln;
FOR i:=1 TO N DO
BEGIN
FOR j:=1 TO M DO
Write(b[i,j]:8:3);
Writeln;
END;
Readln;
END.

Честно скажу: не проверял, попробуйте, если что не так - поправим.
Vladimir_S вне форума   Ответить с цитированием
Старый 27.03.2009, 14:58   #3 (permalink)
ummasha
Member
 
Аватар для ummasha
 
Регистрация: 24.12.2008
Сообщений: 419
Записей в дневнике: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1311
По умолчанию

Vladimir_S, программа работает Осталось понять, как работает)))
ummasha вне форума   Ответить с цитированием
Старый 27.03.2009, 15:11   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от ummasha Посмотреть сообщение
Vladimir_S, программа работает
Уже хорошо.

Цитата:
Осталось понять, как работает)))
Абсолютно ничего сложного.
Vladimir_S вне форума   Ответить с цитированием
Старый 27.03.2009, 17:44   #5 (permalink)
Tamerlaan_Sg
Новичок
 
Регистрация: 26.03.2009
Сообщений: 11
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Огромное Вам спасибо. Честно говоря это было все задание, что выдали, а возможности уточнить, к сожалению, нет. Спасибо огромное за задачу.
Tamerlaan_Sg вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 07:39.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.