IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Упорядочить строковый массив, В тупике, нужно только исправить маленькие ошибки
kvadrat
сообщение 24.05.2008 12:40
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 81
Пол: Мужской

Репутация: -  0  +


Условие:
Прикрепленное изображение

program TOV_cena;
var p:array [1..8] of string[50];s:array[1..8] of integer;
sort:boolean;i,n1,f,h:integer;
st:string[50];
begin
writeln('‚ўҐ¤ЁвҐ н«Ґ¬Ґ­вл ¬ бЁў ');
for i:=1 to 8 do
readln(p[i]);
for i:=1 to 8 do
begin {n1-Ї®§ЁжЁп 1-®Ј® Їа®ЎҐ« ў бва®ЄҐ}
n1:=pos(' ',p[i]);
st:=copy(p[i],n1+1,length(p[i])-n1);
{f-業 в®ў а }
val(copy(p[i],n1+1,length(p[i])),f,h);
end;
sort:=false;
while not sort do
begin sort:=true;
for i:=1 to 7 do
if p[i]>p[i+1] then
begin
st:=p[i]; p[i]:=p[i+1]; p[i+1]:=st;
h:=s[i]; s[i]:=s[i+1]; s[i+1]:=h;
sort:=false
end;
end;
for i:=1 to 8 do writeln(p[i]);
end.


Тысячу спасиб и + в репу спасителю smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 24.05.2008 13:20
Сообщение #2


Гость






Я ж на Винграде решал что-то похожее... Это был не ты?

program TOV_cena;
var
p: array [1..8] of string[50];

i, j, err: integer;
first, second: real;
st:string[50];

begin
writeln('strings:');
for i:=1 to 8 do readln(p[i]);

for i := 1 to 8 do
for j := 8 downto i + 1 do begin
val(copy(p[j-1], pos('_', p[j-1]) + 1, 255), first, err);
val(copy(p[j ], pos('_', p[j ]) + 1, 255), second, err);
if first > second then begin
st := p[j-1]; p[j-1] := p[j]; p[j] := st;
end;
end;

for i := 1 to 8 do
writeln(p[i]);
end.




Сообщение отредактировано: volvo - 24.05.2008 13:21
 К началу страницы 
+ Ответить 
kvadrat
сообщение 24.05.2008 20:39
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 81
Пол: Мужской

Репутация: -  0  +


Цитата
Я ж на Винграде решал что-то похожее... Это был не ты?

У нас у 15 человек в группе что то похожее в заданиях есть smile.gif так что всякое может быть good.gif

Сообщение отредактировано: kvadrat - 24.05.2008 20:41
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.07.2025 14:48
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"