
Сортировка строк(Паскаль)
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
C_O_D_E, не обижайтесь. Вы умная и IMHO способная девушка. Но знаете, есть особый шик - написать программу с меньшим количеством строк кода. И здесь Хыиуду прав. "Краткость - сестра таланта" это и о программистах 

-
- Сообщения: 296
- Зарегистрирован: 13 фев 2008, 20:10
- Откуда: Беларусь. Орша
- Контактная информация:
Знаю, даже соревнования как-то проводили. обычно следую. Но надо же бедному студенту иногда отрываться!! Мне стоит переделать код данной программы?VictorM писал(а):Но знаете, есть особый шик - написать программу с меньшим количеством строк кода.
Если назначен специальный человек для контроля за чистотой исходной информации, то найдется изобратательный идиот, который придумает способ, чтобы неправильная информация прошла этот контроль.
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
"Бедному студенту" отрываться надо. И даже не иногда, а регулярно.
Иначе крыша поедет.
А код, что код - пусть будет как есть. Как говорили мне когда-то: "Работает - не лезь. Пусть работает". Просто по истечении некоторого времени смотришь на свои "творения" по-другому. Как на рисунки из детства.

А код, что код - пусть будет как есть. Как говорили мне когда-то: "Работает - не лезь. Пусть работает". Просто по истечении некоторого времени смотришь на свои "творения" по-другому. Как на рисунки из детства.
Вот вариант, который прост и учитывает все требования задачи.
var
tmp,s, s0: string;
i, k, j: integer;
a: array[1..100] of string;
begin
writeln('Введите количество строк');
readln(k);
for i:=1 to k do
begin
writeln('Введите ',k,'-ое слово');
readln(a[k]);
end;
for j := 1 to k - 1 do
for i := 1 to k - j do
if a > a[i + 1] then
begin
tmp:=a[i+1];
a[i + 1]:=a
a:=tmp;
end;
{Вывод - каждое слово через пробел (может быть и любой другой вариант вывода)}
for i := 1 to k do
if i<>k then
s0 := s0 + a + ' '
else
s0 := s0 + a;
writeln(s0);
end.
var
tmp,s, s0: string;
i, k, j: integer;
a: array[1..100] of string;
begin
writeln('Введите количество строк');
readln(k);
for i:=1 to k do
begin
writeln('Введите ',k,'-ое слово');
readln(a[k]);
end;
for j := 1 to k - 1 do
for i := 1 to k - j do
if a > a[i + 1] then
begin
tmp:=a[i+1];
a[i + 1]:=a
a:=tmp;
end;
{Вывод - каждое слово через пробел (может быть и любой другой вариант вывода)}
for i := 1 to k do
if i<>k then
s0 := s0 + a + ' '
else
s0 := s0 + a;
writeln(s0);
end.