[How bad can I possibly be?]
Помогите мне! У меня зачёт на носу, а я не могу допереть, как написать прогу в delphi. Знаю, что это легко, но что-то до меня не доходит! :kto:

Вообщем мне нужно:

Ввести двумерный массив чисел, содержащий N строк и М столбцов. Значения N и М задать самим и лучше взять небольшие, например, 4 строки и б столбцов. Исходный массив и результаты вывести на экран, при этом двумерный массив выводить в форме матрицы. Преобразовать массив: все отрицательный числа массива заменить на минимальный элемент этого массива.

И ещё: составить программу чтобы перед каждым словом, начинающемся с буквы М поставить звездочку *. Исходный массив и результаты вывести на экран или во внешний файл. Массив задать любым известным способом. Алгоритм вычисления надо оформлять в виде подпрограммы Procedure.



Если кто может - помогите!!!! Очень прошу!

Комментарии
14.03.2006 в 21:07

А в чём проблема: в коде или алгоритме? О_о
15.03.2006 в 08:37

[How bad can I possibly be?]
Ну вобщем мне надо это каким-то волшебным образом написать, запустить и чтоб работало. Глупо, я знаю, но понять, как это описать я не могу никак! то, что начнёться массив с var a:array[1..4,1..5] of integer - это я знаю. Дальше дело с мертвой точки не сдвигаеться.
15.03.2006 в 10:52

1. В самом начале создаешь интовую переменную, равную первому элементу матрицы. Создаешь цикл, перебирающий все индексы массива по х (например, как i), в него вкладываешь такой же цикл, перебирающий индексы по у (например, j) - в теле цикла делаешь вывод на экран i,j-ого элемента и пары пробелов. А также проверяешь: если i,j-ый элемент меньше записанного в ту переменную, то записываем туда новое значение. После вложенного цикла можно вывести на экран обрыв строки. Итого получишь на экране массив ввиде матрицы, правда без форматирования + получаешь минимальный элемент массива. Теперь точно также перебираешь все элементы и проверяешь каждый: если он меньше 0, то заменяем на минимальный элемент и выводим на экран (аналогично исходной матрице). Вот, собственно, всё.



2. Не совсем ясно условие. В массиве хранятся слова или символы?
15.03.2006 в 22:22

[How bad can I possibly be?]
спасибо! небольшой вопрос - "если i,j-ый элемент меньше записанного в ту переменную, то записываем туда новое значение" - каким образом? Просто назначить i:="чего-то там"?

а про второе..скорее всего слова. Но толком ведь это роли не играет, ведь всё-равно как string описывать надо.
15.03.2006 в 22:33

MorgenSSStern

1. Там будет что-то вроде.. (на делфях не пишу, так что мог где-то спутать синтаксис)



if M[i,j]<Min then

begin

M[i,j]:=Min;

end;



А i,j - это просто индексы для адресации элементов массива.



2. Очень даже играет. Значит, просто массив со строками, да?
16.03.2006 в 22:32

[How bad can I possibly be?]
1.Гут. Ввела. Вроде работает. да, работает. Данке шён!

2.Да, пусть будет со строками, если это так важно. Мне главное суть.
16.03.2006 в 22:58

Создаем второй массив. Теперь нужно перебирать элементы первого массива (слова) и проверять в них первый символ. Если символ - "М", тогда во второй массив записываем * и слово, если не "М", то просто слово. Тут, возможно, можно сделать проще, но я не знаю, как в делфи реализована работа со строками. В любом случае, так должно работать точно :-)
17.03.2006 в 18:03

[How bad can I possibly be?]
Спасибо! буду пытаться!!