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

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

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

> СРОЧНО! Сортировка массива строковых данных., Не понимаю почему не происходит ...
Stranger
сообщение 21.09.2005 22:43
Сообщение #1


Гость






Доброго времени суток !
Вот друг попросил накидать программку(ака 1ую часть курсовой).
Накидал, но почемуто не происходит сортировка =(
Объясните где что не так плиз (желательно asap)
вот код

program p4;
uses strings;
var
mas:array[1..10,1..2] of string ;
c,x,y,l:integer;
input,output:text;
temp:string;
begin
assign(input,'dan.txt');
reset (input);
assign(output,'res.txt');
rewrite(output);

x:=0;
Repeat
x:=x+1;
Readln(input,temp);
c:=pos(' ',temp);
l:=length(temp);
mas[x,1]:=copy(temp,1,(c-1));
mas[x,2]:=copy(temp,c+1,(l-c));
{y:=pos('r',mas[2,x]);
delete(mas[2,x],y,3);}
until EOF(input);

for y:=1 to x do begin
if mas[y,2]>mas[y+1,2] then begin
temp:=mas[y,2];
mas[y,2]:=mas[y+1,2];
mas[y+1,2]:=temp;
temp:=mas[y,1];
mas[y,1]:=mas[y+1,1];
mas[y+1,1]:=temp;

end;
end;

for y:=1 to x do writeln(output,mas[y,1],' ',mas[y,2]);

close(input);
close(output);
readln;
end.

 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Stranger
сообщение 23.09.2005 0:15
Сообщение #2


Гость






Короче вот мало ли кому нить понадобится выполнить задание аналогичное данному...

Задание
Дан список вещей с указанием цены вида: НАИМЕНОВАНИЕ_ВЕЩИ ЦЕНА
25 символов (данные в одной строке отделяются друг от друга пробелами, например: Стол 2500 руб) Выбрать три самые дорогие вещи и вывести их в файл.

1.Все исходные данные вводятся из входного текстового файла.
2.В выходной текстовый файл выводится как вся введенная информация , так и полученный результат.

Код

program p4;
const
razmermas=10;
var
mas:array[1..razmermas,1..2] of string[25] ;
x,i,j,l,c1,c2:integer;
input,output:text;
temp:string;
begin
assign(input,'dan.txt');
reset (input);
assign(output,'res.txt');
rewrite(output);

x:=0;
writeln(output,'Vhodnije dannije');
Repeat
x:=x+1;
Readln(input,temp);
j:=pos(' ',temp);
i:=length(temp);
writeln(output,temp);
mas[x,1]:=copy(temp,1,(j-1));
mas[x,2]:=copy(temp,j+1,(i-j));
i:=pos(' ',mas[x,2]);
delete(mas[x,2],i,4);
until EOF(input);


For i:=1 To x Do
For j:=x DownTo i+1 Do
begin
val(mas[pred(j),2],c1,l);
val(mas[j,2],c2,l);
If c1>c2 Then Begin
Temp:=mas[Pred(j),1];
mas[Pred(j),1]:=mas[j,1];
mas[j, 1]:=Temp;
Temp:=mas[Pred(j),2];
mas[Pred(j),2]:=mas[j,2];
mas[j,2]:=Temp;
End;
end;
writeln(output);
writeln(output,'Tri samije dorogie veshi');
c1:=0;
for i:=x downto x-2 do
begin
c1:=c1+1;
writeln(output,c1,'. ',mas[i,1],' - ',mas[i,2],' rub');
end;
close(input);
close(output);

end.

 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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