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

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

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

 
 Ответить  Открыть новую тему 
> совет по текстовому файлу
Михаил1996
сообщение 11.06.2014 22:47
Сообщение #1





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

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


здраствуйте. имметься программа:
const
n = 4;
type
student = record
N: byte;
prizv: string;

alg: real;
bal: 6..15;
matan,prog,os:2..5
end;
var
i,j: integer;
tabl: array[1..n] of student;
v:student;
s:real;
begin

writeln('VVedi dani stydentiv');
for i := 1 to n do
with tabl[i] do
begin
writeln('vvedi prizv');
readln(prizv);
writeln('vvedi predmet1');
readln(matan);
writeln('vvedi predmet2');
readln(prog);
writeln('vvedi predmet 3');
readln(os);

end;

for i:=1 to n do with tabl[ i ] do
begin
bal:=matan+prog+os;
end;

writeln('------------------------------------------------------');
writeln('| Surname| Matematuchnuy | Programyvannya | OS | summa ');
writeln('| | analis | | | ');
writeln('--------------------------------------------------------');
for i:=1 to n do
with tabl[i] do
begin

writeln('|',prizv:10,'|',matan:15,'|',prog:16,'|',os:4,'|' , bal:5, '|');
writeln('-----------------------------------------------------------------');
end;


writeln('vidcortovano');
j:=0;
while j<=n do
begin
for i:=1 to n-1 do
if tabl[i].bal<tabl[i+1].bal then
begin
v:=tabl[i];
tabl[i]:=tabl[i+1];
tabl[i+1]:=v;
end;
inc(j);
end;


writeln('------------------------------------------------------');
writeln('| Surname| Matematuchnuy | Programyvannya | OS | summa ');
writeln('| | analis | | | ');
writeln('--------------------------------------------------------');
for i:=1 to n do
with tabl[i] do
begin

writeln('|',prizv:10,'|',matan:15,'|',prog:16,'|',os:4,'|' , bal:5, '|');
writeln('-----------------------------------------------------------------');
end;


readln;
end.

она работает но у меня условие стоит чт нужно в таблицу данные не вводить а считать ее с внешнего файла(текстового) и отсортировать по сумме балов. подскажите как это сделать, пожалуйста? Файл прикрепил

Сообщение отредактировано: Михаил1996 - 11.06.2014 22:48


Прикрепленные файлы
Прикрепленный файл  abitura.txt ( 182 байт ) Кол-во скачиваний: 147
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Федосеев Павел
сообщение 12.06.2014 9:14
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 298
Пол: Мужской
Реальное имя: Федосеев Павел

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


На другом форуме тебе привели пример, как считать запись об одном студенте. Дальше читаешь любой учебник по Pascal главу "файлы" (набери в поисковике "Pascal файлы").
Когда это будет - можно будет заняться сортировкой (опять же, начиная с поиска).

Можешь сам для себя в тестовой программке попробовать сортировать массив (предварительно заполнив его в обратном порядке).

Будут вопросы - спрашивай. По возможности постараюсь ответить.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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