Форум программистов, компьютерный форум, киберфорум
Наши страницы

Free Pascal

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
ryzhay
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 13
#1

В файл записать фамилию, возраст человека и отсортировать по алфавиту и по возрасту - Free Pascal

26.09.2009, 23:47. Просмотров 1290. Ответов 13
Метки нет (Все метки)

В файл записать фамилию , возраст человека. Отсортировать по алфавиту и по возрасту. Результат записать в новий файл.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2009, 23:47
Я подобрал для вас темы с готовыми решениями и ответами на вопрос В файл записать фамилию, возраст человека и отсортировать по алфавиту и по возрасту (Free Pascal):

Дан файл строк. Отсортировать слова каждой строки файла по алфавиту - Pascal
Дан файл строк. Отсортировать слова каждой строки файла по алфавиту с помощью сортировки пузырьком.

Определить порядковый номер самого старшего по возрасту человека - Pascal
В массиве хранится информация о годе рождения каждого из 30 человек. Определить порядковый номер самого старшего по возрасту человека. ...

Записать в файл NE типа next имена всех потомков человека с именем N - Free Pascal
Дали непростые задачи по программированию. Кто бы мог хотя бы ввести меня в дело? Используем очередь. type name=(Anna,...

Возраст человека - Pascal
Ввести возраст человека (от 1 до 150) и вывести его с последующими словом "год", "года" или "лет". Пример: Введите возраст: 24..66...

Вывести фамилию, инициалы и высчитать возраст на текущий год - Pascal
создать программу которая вводит строки содержащие фамилию,имя, отчество и год рождения. а выводит строки содерж фамил инициалы и возраст...

Вывести на экран фамилию самого молодого студента и его возраст. - Pascal
Помогите с задачами. 1.Дан текстовый файл, содержащий данные о студентах: фамилия студента, возраст. Вывести на экран фамилию самого...

13
PAZITIV
Реальность Нереальна!
351 / 124 / 3
Регистрация: 02.08.2009
Сообщений: 3,214
Записей в блоге: 1
26.09.2009, 23:50 #2
ryzhay, что не ясно??? сортировать по алфавиту или по возрасту?
0
ryzhay
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 13
26.09.2009, 23:51  [ТС] #3
и то и то
0
PAZITIV
26.09.2009, 23:52
  #4

Не по теме:

как я теперь понимаю магистров, которые каждый день видят тупые просьбы о написании программы

0
ryzhay
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 13
26.09.2009, 23:53  [ТС] #5
а то куда уж нам до вас!!!!
0
PAZITIV
Реальность Нереальна!
351 / 124 / 3
Регистрация: 02.08.2009
Сообщений: 3,214
Записей в блоге: 1
26.09.2009, 23:53 #6
что
Цитата Сообщение от ryzhay Посмотреть сообщение
и то и то
???
Есть какие-то конкретные вопросы?
0
Puporev
Модератор
54031 / 41664 / 14741
Регистрация: 18.05.2008
Сообщений: 97,961
27.09.2009, 08:25 #7
Цитата Сообщение от ryzhay Посмотреть сообщение
В файл записать фамилию , возраст человека.
Как записать? Заготовить файл заранее создав его в блокноте, или записать через программу?
Точно текстовый файл? Может типизированный?
Вы в курсе, что при перенесении текстового файла в программу и обратно, кодировка русских символов нарушается? Что у Вас предусмотрено на этот случай?
1. Писать транслитом.
2. Конвертировать текстовый файл из Win в Dos.
3. Написать 2 процедуры конвертации из ANSI в ASCII и обратно.
3. Работать с файлами .pas.
0
ryzhay
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 13
27.09.2009, 10:56  [ТС] #8
писать транслитом
0
Puporev
Модератор
54031 / 41664 / 14741
Регистрация: 18.05.2008
Сообщений: 97,961
27.09.2009, 11:54 #9
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Puporev Посмотреть сообщение
Как записать? Заготовить файл заранее создав его в блокноте, или записать через программу?
А это?

Добавлено через 33 минуты
Судя по ответам, сдам хорошо, нет тоже пойдет. Лучше пива попить.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
uses crt;
type chel=record {тип запись, данные о челах}
     fam:string;
     voz:byte;
     end;
var f,g:text;{2 файла}
    m:array[1..100] of chel;{массив записей для сортировки}
    n,i,j:byte;{размер массива, счетчики}
    s:string;{переменная для ввода фамилии}
    v:byte;{переменная целого типа}
    x:chel;{переменная-запись для сортировки}
    k:integer;{переменная для перевода строки в число}
begin
clrscr;
assign(f,'file1.txt');
rewrite(f);
write('Сколько человек? n=');
readln(n);
writeln('Введите данные о ',n,' чел.');
for i:=1 to n do
 begin
  write(' Фамилия: ');
  readln(s);
  write(f,s,' ');
  repeat
  write(' Возраст, от 1 до 100: ');
  readln(v);
  until v in [1..100];
  write(f,v);{записываем в первый файл}
  writeln(f,'');
 end;
close(f);
reset(f);
n:=0;
while not eof(f) do
 begin
  readln(f,s);{читаем из него построчно}
  n:=n+1;
  m[n].fam:=copy(s,1,pos(' ',s)-1);{до пробела фамилия}
  delete(s,1,pos(' ',s));{удалим}
  val(s,v,k);{остаток строки-число, преобразуем}
  m[n].voz:=v;{возраст}
 end;
close(f);
for i:=1 to n-1 do{сортируем массив по фамилии и возрасту}
for j:=i+1 to n do
{если фамилия больше(дальше по алфавиту, или фамилии одинаковые и возраст больше)}
if (m[i].fam>m[j].fam)or((m[i].fam=m[j].fam)and(m[i].voz>m[j].voz))
then
 begin
  x:=m[i];{то переставляем местами(сортируем)}
  m[i]:=m[j];
  m[j]:=x;
 end;
assign(g,'file2.txt');
rewrite(g);
for i:=1 to n do
writeln(g,m[i].fam,'  ',m[i].voz);{записываем в новый файл}
write('Файл отсортированных записей FILE2 записан!');
close(g);
readln
end.
0
ryzhay
0 / 0 / 0
Регистрация: 26.09.2009
Сообщений: 13
27.09.2009, 11:56  [ТС] #10
пиво пить вредно!!!!
0
odip
Эксперт С++
7161 / 3219 / 62
Регистрация: 17.06.2009
Сообщений: 14,161
27.09.2009, 16:47 #11
при перенесении текстового файла в программу и обратно, кодировка русских символов нарушается?
Это почему ?
Какая в программе была, такая и будет в файле.
Хотя turbo pascal - это CP866, а Free Pascal - это CP1251
0
Puporev
Модератор
54031 / 41664 / 14741
Регистрация: 18.05.2008
Сообщений: 97,961
27.09.2009, 16:55 #12
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
odip, В текстовых файлах в Windows для русских букв кодировка ANSI, в DOS ASCII

Добавлено через 1 минуту
Вот пример .pas файла, открытого в Wordpad
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
uses crt;
const bk=['Є','Ї','б','в','д','е','з','ж','и','й'];
var s:string;
    i,j:byte;
begin
clrscr;
writeln('‚ўҐ¤ЁвҐ ⥪бв:');
readln(s);
for i:=170 to 233 do
for j:=1 to length(s) do
if (chr(i) in bk)and(chr(i)=s[j])then
write(chr(i),' ');
readln
end.
0
odip
Эксперт С++
7161 / 3219 / 62
Регистрация: 17.06.2009
Сообщений: 14,161
27.09.2009, 16:57 #13
У меня в Windows есть Far и UltraEdit.
Обе программы умеют работать с разными кодировками - поэтому проблемы нет.
Кодировка называется OEM, а не ASCII.
0
Puporev
Модератор
54031 / 41664 / 14741
Регистрация: 18.05.2008
Сообщений: 97,961
27.09.2009, 17:03 #14
Я имею ввиду по какой таблице кодируются. ANSI или ASCII

Добавлено через 28 секунд
Проще Win и Dos
0
27.09.2009, 17:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2009, 17:03
Привет! Вот еще темы с ответами:

Дано натуральное n. Определить возраст человека в годах - Pascal
Дано натуральное N. Определить возраст человека в годах, напечатать год, года или лет в зависимости от значения n. Например: 11 лет, 44...

По указанному году рождения определить возраст человека - Pascal
В том случае, если вычисленное значение окажется меньше 18, то программа выводит на экран сообщение "Учиться" ;если вычисленное значение...

Написать подпрограмму, которая определяет возраст человека в секундах - Pascal
Пожалуйста, если кто-то может: Написать подпрограмму, которая определяет возраст человека в секундах

По порядковому номеру ЭВМ выдать фамилию и инициалы работающего за ней человека. - Pascal
Надо решить такую зада4ку... Составить программу для выполнения указанного ниже задания, используя оператор множественного ветвления....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru