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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2009, 14:40   #1
Julia-21
 
Аватар для Julia-21
 
Регистрация: 18.01.2009
Сообщений: 5
Вопрос Помогите плизз с созданием списка

в общем суть задания такая: классификатор стран (код название страны на русском и на англ языках)
input.txt:
DE, Германия, Germany.
DK, Дания, Denmark.
DZ, Алжир, Algeria.
EA,Эстония, Estonia.
EG,Арабская республика Египет, Egypt Arab.
ES,Испания, Spain.

output.txt
АЛЖИР, АРАБСКАЯ РЕСПУБЛИКА ЕГИПЕТ, ГЕРМАНИЯ, ДАНИЯ, ИСПАНИЯ, ЭСТОНИЯ.

помоите! очень нада для зачета...
Julia-21 вне форума Ответить с цитированием
Старый 18.01.2009, 17:11   #2
Tkirill
Форумчанин
 
Аватар для Tkirill
 
Регистрация: 22.12.2008
Сообщений: 104
По умолчанию

uses crt;
var
mas:array[1..100] of string;
fil,f:text;
s,st,rus:string;
i,j,n:integer;
begin
clrscr;
assign(fil,'c:\in.txt');
reset(fil);
assign(f,'c:\out.txt');
rewrite(f);
n:=0;
while not eof(fil) do
begin
readln(fil,s);
st:=s;
delete(st,1,pos(',',s)+1);
rus:=copy(st,1,pos(',',st)-1);
n:=n+1;
mas[n]:=rus;
end;
close(fil);
for i:=1 to n-1 do
begin
for j:=1 to n-i do
begin
if mas[j][1]>mas[j+1][1] then
begin
s:=mas[j];
mas[j]:=mas[j+1];
mas[j+1]:=s;
end;
end;
end;
for i:=1 to n-1 do
write(f,mas[i]+', ');
writeln(f,mas[n]+'.');
close(f);
readln;
end.


Подразумеваются, что данные вводятся так
DK, Дания, Denmark. (перед запятой пробела нет, а после есть))
@(o_0)@
Tkirill вне форума Ответить с цитированием
Старый 18.01.2009, 17:13   #3
Julia-21
 
Аватар для Julia-21
 
Регистрация: 18.01.2009
Сообщений: 5
По умолчанию

огромное спасибо!!!!
Julia-21 вне форума Ответить с цитированием
Старый 18.01.2009, 19:12   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Вот сдесь сортировка только по первой букве
if mas[j][1]>mas[j+1][1] then
а надо сравнивать полностью строки, тогда сортировка будет по всем буквам.
if mas[j]>mas[j+1] then
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с задачкой плизз!!! Умоляю!!! Anton1997 Паскаль, Turbo Pascal, PascalABC.NET 2 05.12.2008 10:25
помогите плизз с задачей на с++ Jet-Tea Общие вопросы C/C++ 3 05.10.2008 11:43
Помогите!!!плизз Хван Паскаль, Turbo Pascal, PascalABC.NET 11 14.01.2007 08:38