Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2013, 17:04   #1
Poltish
Пользователь
 
Регистрация: 16.03.2013
Сообщений: 35
Печаль pascal. работа с массивами. запись в массив.

Ребят, вопрос глупый, но всё же
В заданном пользователем массиве целых чисел сначала найти минимальный элемент, а потом создать второй массив, в какой поместить все элементы первого, кратные найденному минимальному числу. Отсортировать второй массив по условию уменьшения значений его элементов. Напечатать входящий и конечный массивы...
и еще в массиве надо с помощью саse сортировку провести с помощью 3-ех методов
1.вставка
2.выбор
3.обмен
ну чтобы пользователь выбрал метод и отсортировало по нему...
Вот данная задача, если представить как алгоритм, то:
1) Заполняем первый массив
2) Находим в нём минимальное значение
3) Находим кратные элементы и помещаем их во-второй массив
4) Сортируем второй массив по убыванию
5) Реализуем методы CASE-ом

На 3 - ем пункте застопорился(

Вот весь код, что набросал:
Код:

Program _1;
var a,b: array [1..100] of integer;
i,n,e,r,q,w,min,tmp,t: integer;
begin
WriteLn ('Введите количество элементов 1-ого массива');
Read (n);

for e:=1 to n do
begin
Write('Введите ',e,' элемент массива - ');
Read(a[e]);
end;

min:=a[1];
for i:=2 to n do
  begin
     if min>a[i] then
       min:=a[i];
  end;
 
{3 - ий пункт}
for r:=1 to n do
begin
if a[r] mod min=0 then
WriteLn ('Элемент ',a[r], ', кратен  ', min, ' и помещён во 2-ой массив ');
Weite (a[r]);
Read (b[r]);
end;

for q:=1 to n-1 do
for w:=i+1 to n do
if (b[w]<b[q]) then
   begin
       tmp:=b[q];
       b[q]:=b[w];
       b[w]:=tmp;
       WriteLn (tmp);
   end;


End.
Не могу понять как записать кратные элементы в массив, во-второй. Вроде бы элемент находим, затем его читаем(?), т.е. записываем?
Спасибо тем кто ответит.
Poltish вне форума Ответить с цитированием
Старый 09.04.2013, 19:19   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Не совсем понял, в чем проблема.
Вероятно, Вам целесообразно написать процедуру, помещающую число в массив.
Нужно отслеживать, сколько элементов находится в массиве. Первоначально - 0.
Процедура должна помещать число в первую свободную ячейку массива и инкрементировать переменную, характеризующую заполненную часть массива.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с массивами(pascal) coll3ct0R Помощь студентам 2 28.10.2012 18:41
Pascal.Работа с массивами. Ars/\an Помощь студентам 3 06.05.2011 00:35
работа с массивами (Pascal) k0tone Помощь студентам 5 24.12.2010 16:34
работа с массивами (Pascal) kead Помощь студентам 1 15.11.2009 17:03
Работа с массивами (pascal) Bykvaeshka Помощь студентам 3 17.03.2009 18:24