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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2008, 02:35   #1
zaq2000
Пользователь
 
Регистрация: 01.12.2008
Сообщений: 38
По умолчанию Переставить все буквы латинского алфавита в начало строки в порядке следования.

Составить программу обработки строк. Переставить все буквы латинского алфавита в начало строки в порядке следования.
zaq2000 вне форума Ответить с цитированием
Старый 01.12.2008, 09:01   #2
DaniKz
Новичок
Джуниор
 
Регистрация: 01.12.2008
Сообщений: 2
Подмигивание

Правда сказать давно не писал на Паскале....
Могу только примерно написать алгоритм выполнения задачи....
Должно получиться типа этого:

Код:
Var Strg : String;
i,j,L: Integer;
ch: char;
Begin
ReadLn(Strg). {вводим строку}
L := Length(Strg); {определяем длину строки}
L := L - 1. {минус один, для того что бы у нас не выползла ошибка}
for j:= 1 to L 
for i:= 1 to L
begin
if XXXX(Strg[i]) > XXXX(Strg[i+1]). {здесь вместо ХХХХ оператор определяющий ASCII код символа, я непомню его :)))) }
begin
{осуществляем замену символов}
ch := Strg[i].
Strg[i] := Strg[i+1];
Strg[i+1] := ch;
end;
end;
end.
Коментарий:
1. ХХХХ - помню есть какаето стандартная функция определения ASCII код символа,..... (уже лет 5 не писал такие программы)
2. Два цикла вместо одного.... нужны для полной обработки строки...

P.S.: Давно не писал на Паскале и Delphi.... сейчас работаю в SAP R3.... Абапером )))

Последний раз редактировалось rpy3uH; 03.12.2008 в 17:17.
DaniKz вне форума Ответить с цитированием
Старый 01.12.2008, 10:06   #3
DannerDOS
Пользователь
 
Регистрация: 01.12.2008
Сообщений: 27
По умолчанию Вот это тож решение...

program Zadaha_Daniyara;
uses crt;
var a,b:string; i,j,k,m,n:integer; p:char;
begin
clrscr;
readln(a);
b:='абвгдежзийклмнопрстуфхцчшщъыьэю я'; {Алфавитов я незнаю так что необессуте, особенно Латинского... ну там подставить можно а русский алфавит я в И-нете нашол... }
k:=1;
while k<>0 do
begin
k:=0;
for i:=1 to length(a)-1 do
begin
for j:=1 to length(b) do
begin
if b[j]=a[i] then m:=j;
if b[j]=a[i+1] then n:=j;
end;
if m>n then
begin
k:=1;
p:=a[i];
a[i]:=a[i+1];
a[i+1]:=p;
end;
end;
end;
writeln(a);
readkey;
end.
DannerDOS вне форума Ответить с цитированием
Старый 01.12.2008, 20:50   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Ребят, я конечно, приношу свои извинения, но, разве, так не проще?:
Код:
var
  i : integer;
  s,s2 : integer;
begin
  WriteLn;
  Write('Введите строку');
  ReadLn(s);
  s2 := ''; {обнулили результирующую строчку c латиницей}
  s3 := ''; {обнулили резултьтирующую строчку для прочих}
  for i:=1 to Length(s) do
    if s[i] in ['a'..'z','A'..'Z'] then s2 := s2 + s[i]
    else s3 := s3 + s[i];

  s := s2 + s3;
  WriteLn('Результат',s);
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.12.2008, 19:35   #5
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Serge_Bliznykov я имел наглость немного подправить Ваш код:

Код:
var
  i : integer;
  s,s2,s3 : string;
begin
  WriteLn;
  Writeln('Введите строку');
  ReadLn(s);
  s2 :=''; {обнулили результирующую строчку c латиницей}
  s3 :=''; {обнулили резултьтирующую строчку для прочих}
  for i:=1 to Length(s) do
    if s[i] in ['a'..'z','A'..'Z'] then s2 := s2 + s[i]
    else s3 := s3 + s[i];

  s := s2 + s3;
  WriteLn('Результат: ',s);
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 03.12.2008, 15:08   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

alex_fcsm :-) да не поправить, а исправить ошибку. Спасибо. :-)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.12.2008, 06:42   #7
DaniKz
Новичок
Джуниор
 
Регистрация: 01.12.2008
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Ребят, я конечно, приношу свои извинения, но, разве, так не проще?:
Так проще....
Но если использовать мой вариант у нас не только все буквы будут в начале строки.... но и сами буквы меж собой отсортируются по возрастанию....

P.S.: Ведь всегда при выполнении Лаб.работ препод что нибудь да придумает
DaniKz вне форума Ответить с цитированием
Старый 04.12.2008, 08:59   #8
DannerDOS
Пользователь
 
Регистрация: 01.12.2008
Сообщений: 27
По умолчанию

Да... наши так на всякий случай... Нужно учитывать все!
DannerDOS вне форума Ответить с цитированием
Старый 04.12.2008, 12:15   #9
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Цитата:
Сообщение от DaniKz Посмотреть сообщение
Так проще....
Но если использовать мой вариант у нас не только все буквы будут в начале строки.... но и сами буквы меж собой отсортируются по возрастанию....

P.S.: Ведь всегда при выполнении Лаб.работ препод что нибудь да придумает
Тогда Вы не выполните исходное условие
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 08.12.2008, 16:55   #10
DannerDOS
Пользователь
 
Регистрация: 01.12.2008
Сообщений: 27
По умолчанию

- Исходные условия мы перевыполняем!!!
DannerDOS вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переставить строки Sergeevich Помощь студентам 7 20.06.2016 13:46
На печать выдать новую строку в которой все слова расположены в порядке возрастание длин слов Siluet Паскаль, Turbo Pascal, PascalABC.NET 1 13.12.2008 00:12
дан текстовый массив из 200 букв. Выстроить в алфавитном порядке все строчные буквы Тина Помощь студентам 6 02.07.2008 22:53
процедура, которая выводит все слова, начинающиеся с согласных букв латинского алфавита. sergeyfsd Паскаль, Turbo Pascal, PascalABC.NET 6 21.02.2008 22:29
Во вводимом тексте переписать все слова в обратном порядке. menlo Помощь студентам 5 17.11.2007 10:18