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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2016, 21:02   #1
nastyaqwer
Новичок
Джуниор
 
Регистрация: 03.12.2016
Сообщений: 1
Вопрос Написать программу на Паскале. Заполнить массив случайным образом буквами латинского алфавита и цифрами. Отсортировать массив: сначала гласные, затем цифры, затем согласные.

Заполнить массив случайным образом буквами латинского алфавита и цифрами (арабскими). Отсортировать массив следующим образом: сначала гласные ,затем цифры,затем согласные. Позиции элементов относительно элементов того же вида не должны измениться.
nastyaqwer вне форума Ответить с цитированием
Старый 04.12.2016, 01:26   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

подсказка:
Сортировка пузырьком (Bubble Sort) обладает свойством устойчивость.

поэтому Вам нужно всего навсего:
1) заполнить массив случайными латинскими буквами и цифрами
2) отсортировать его пузырьком.
3) вывести массив.

всё, задача решена.

Есть вопросы?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.12.2016, 02:13   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Serge_Bliznykov, нет, ему другое надо. Просто разделить на 3 группы.
Цитата:
Сообщение от nastyaqwer Посмотреть сообщение
Позиции элементов относительно элементов того же вида не должны измениться
type_Oleg вне форума Ответить с цитированием
Старый 04.12.2016, 04:41   #4
Dekay
Пользователь
 
Регистрация: 21.06.2016
Сообщений: 65
По умолчанию

Можно и посортить. Главное устойчивой
Dekay вне форума Ответить с цитированием
Старый 04.12.2016, 10:10   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Serge_Bliznykov, нет, ему другое надо. Просто разделить на 3 группы.
Цитата:
Сообщение от nastyaqwer
Позиции элементов относительно элементов того же вида не должны измениться
type_Oleg, что TC надо, я прекрасно понял.
А насчёт алгоритма - Вы думаете, я про устойчивость просто так написал?
Если (вдруг) не помните, то рекомендую посмотреть, что это за устойчивость такая в алгоритмах сортировки!

Но я не спорю, что вариантов решения здесь может быть много.
я предложил не самый эффективный с точки зрения быстродействия, но зато простой, как топор (пузырёк гуглится на раз, да я и ссылку сразу дал на алгоритм).

Цитата:
Сообщение от Dekay Посмотреть сообщение
Можно и посортить. Главное устойчивой
Угу. Точно.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.12.2016, 10:30   #6
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
const glas:set of char=['a','e','i','o','u','y'];
var c:array of char;
    i,j,len,k:integer;
    z:char;
begin
   Randomize;
   len:=10+Random(20);
   SetLength(c,len);
   For i:=0 to len-1 do
   begin
      If Random(5)=0 then
         c[i]:=Char(48+Random(10)) else
         c[i]:=Char(97+Random(26));
      Write(c[i]);
   end;
   Writeln;
   Writeln;
   k:=-1;
   For i:=0 to len-1 do
      If c[i] in glas then
      begin
         k:=k+1;
         z:=c[i];
         For j:=i downto k+1 do
            c[j]:=c[j-1];
         c[k]:=z;
      end;
   For i:=0 to len-1 do
      If (c[i]>='0') and (c[i]<='9') then
      begin
         k:=k+1;
         z:=c[i];
         For j:=i downto k+1 do
            c[j]:=c[j-1];
         c[k]:=z;
      end;
   For i:=0 to len-1 do
      Write(c[i]);
   Writeln;
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 04.12.2016, 16:34   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

newerow1989, годится, вполне себе рабочий вариант!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите девушке! Заполнить массив случайным образом, выделить в отдельные массивы буквы латинского алфавита, Svetlana90 Помощь студентам 0 19.05.2015 14:14
Заполнить массив из 20 элементов случайным образом от -5 до +5. Отсортировать массив по возрастанию. Olechkina Помощь студентам 1 08.12.2013 18:32
заполнить массив A (40) случайным образом целыми числами с диапазона [100, 999] prosto_man Паскаль, Turbo Pascal, PascalABC.NET 9 25.11.2013 22:58
Преобразовать массив таким образом, чтобы сначала располагались элементы из интервала [a,b] , а затем все parka Паскаль, Turbo Pascal, PascalABC.NET 7 15.05.2011 22:17