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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2007, 12:31   #1
Olgasato
 
Регистрация: 13.11.2007
Сообщений: 9
Вопрос Очень нужна помощь по МНОЖЕСТВАМ (Delphi)

Помогите пожалуйста, буду очень признательна, уважаемые программисты....
Есть задание по множествам: вводим строку, содержащую цифры и русские буквы (может быть еще какие-нить символы)..
Нужно (нажатием Button) вывести только буквы и отсортировать их по алфовиту...

Задачка простая, но незнающему трудно..

Заранее спасибо!
Olgasato вне форума Ответить с цитированием
Старый 13.11.2007, 13:06   #2
Rapid
Форумчанин
 
Аватар для Rapid
 
Регистрация: 01.09.2007
Сообщений: 747
По умолчанию

Вот завалялась процедура сортировки СтрингГрида методом пузырька. Думаю можно будет легко переделать для сортировки букв. Принцип сортировки таков: каждый элемент массива, начиная с первого, сравнивается со следующим, и если он больше следующего, то элементы меняются местами, и все это происходит до тех пор, пока массив не отсортируется полностью.

Код:
const
  CSize=7;
var
  ArrSort : array[1..7] of integer;//Array of sort
  i : integer;
  BChanged : boolean;
  Buf1 : integer;
begin
  for  i:=1  to CSize do
  begin
    ArrSort[i]:=StrToInt(StringGrid1.Cells[1, i]);
  end;

repeat
  BChanged:=false;
  for  i:=1 to CSize-1 do
  begin

    if ArrSort[i]>ArrSort[i+1] then
  begin
    Buf1:=ArrSort[i];
    ArrSort[i]:=ArrSort[i+1];
    ArrSort[i+1]:=Buf1;
    BChanged:=true;
  end;
end;
until not Bchanged;

for  i:=1  to CSize do
begin
  StringGrid1.Cells[1, i]:=IntToStr(ArrSort[i]);
end;

Используем тег [code]. # - на панели инструментов в расширенном режиме. Модератор.
Никому не верьте.

Последний раз редактировалось AlDelta; 13.11.2007 в 13:38.
Rapid вне форума Ответить с цитированием
Старый 13.11.2007, 13:34   #3
AlDelta
Реанимируюсь...
Участник клуба
 
Аватар для AlDelta
 
Регистрация: 19.07.2007
Сообщений: 1,445
Подмигивание Cортировка строки.

Код:
procedure TForm1.Button1Click(Sender: TObject);
var str:string;
    i:integer;
    list:TStringList;
    numbers:set of 'A'..'z';
begin
str:=Edit1.Text;
list:=TStringList.Create;
numbers:=['A'..'z'];

for i:=1 to length(str) do
if str[i] in numbers then
list.Add(str[i]);

list.Sort;
Edit2.text:='';

for i:=0 to list.Count-1 do
Edit2.Text:=Edit2.Text+list.Strings[i];

list.Free;
end;
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе...
P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows"
AlDelta вне форума Ответить с цитированием
Старый 14.11.2007, 13:10   #4
Olgasato
 
Регистрация: 13.11.2007
Сообщений: 9
Хорошо

Спасибо Большое! Очень выручили......
Olgasato вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DELPHI две задачи очень нужна помощь. MARGO Помощь студентам 2 01.11.2007 22:35
задать печать одной кнопкой, но сразу нужное кол-во копий Kisunya2104 Microsoft Office Excel 1 09.08.2007 22:07
Очень нужна помощь...Прога на DELPHI . Дарюха Помощь студентам 2 16.07.2007 10:30
Нужна помощь в Паскале. Очень-очень срочно. !!! Помощь студентам 2 09.02.2007 15:12