Помощь - Поиск - Пользователи - Календарь
Полная версия: Задания по массивам
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Mitek
Надо выполнить 2 задания. Помогите, пожалуйста.:

1. Поменять местами первый символ ‘А’ и последний символ ‘Y’, полученный массив вывести на экран дисплея.

2. Найти наибольший и наименьший элементы матрицы и поменять их местами.

Заранее, спасибо.
virt
i := 1;
while a[i] <> 'A' do inc(i);


после выполнения i -- номер в массиве где А встречается первый раз. Остальное аналогично.
Fang
Ко 2-ой задаче:

Код
uses
 crt;
var
 a: array[1..10] of integer;
 pos_max, pos_min,max,min,i,temp: integer;
begin
 ClrScr;
 randomize;
 for i:=1 to 10 do
   a[i]:=random(10);
 for i:=1 to 10 do
   write(a[i], '  ');
 writeln;
 {find max}
 max:=a[1];
 pos_max:=1;
 for i:=1 to 10 do
   begin
     if a[i] > max then
       begin
         max:=a[i];
         pos_max:=i;
       end;
   end;
 {find min}
 min:=a[1];
 pos_min:=1;
 for i:=1 to 10 do
   begin
     if a[i] < min then
       begin
         min:=a[i];
         pos_min:=i;
       end;
   end;
 {min - max}
 temp:=a[pos_min];
 a[pos_min]:=a[pos_max];
 a[pos_max]:=temp;

 for i:=1 to 10 do
   write(a[i], '  ');
 readln;
end.


Правда это решение для одномерного массива, алгоритм такой:
1. Заполняем массив случ. числами
2. Выводим его
3. Ищем максимальный эл-т и запоминаем его позицию.
4. Ищем минимальный эл-т и запоминаем его позицию.
5. Меняем местами мин. и макс.

Для двумерного массива (матрицы) попробуй сделать сам.
Тем более, что делается аналогично.
klem4
Fang, а зачем ты кроме индексов максимального и минимального значения хранишь и сами эти значения ? Этого в задании вроде не требуется ...
zetsokol
вот тебе наглядный пример как поменять элементы в двумерном массиве

for i:=1 to k do
for j:=1 to k do begin
.........
p:=a[i+1,j]; a[i+1,j]:=a[i,j]; a[i,j]:=p;
end;



М
Точно также сделал и Fang в своей программе ... флудим?
klem4

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.