1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Задача на тему Записи, наверное пишется как-то через массив...
Попросили помочь с задачей: "Составить список из 10 жильцов, указав фамилию, инициалы, год рождения и адрес(улица, дом, квартира).Выдать справку о месте проживания данного жильца. Если жильцов, имеющих одинаковые фамилию, инициалы и год рождения несколько, то выдать информацию о всех." Помогите пожалуйста решить...Сам ещё не пробовал делать..глаза не первый день что-то болят..Наведите хоть на путь истинный, с чего начать и чем закончить
type MyRec = record поле1 : тип_поля поле2 : тип_поля поле3 : тип_поля end; var Recs:array[1..10] of MyRec;
Чтобы обратиться к некоторому полю, пишем например Recs[1].имя_поля и можем ему что-то присваивать или брать оттуда значение, как с переменными. В твоей задаче нужно сначала заполнить массив с записями - это можно сделать в цикле - а потом, при поиске жильца, тоже циклом пройти по всем записям, проверяя нужное поле, если совпадает с искомым - вывести все остальные поля.
--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
type MyRec = record поле1 : тип_поля поле2 : тип_поля поле3 : тип_поля end; var Recs:array[1..10] of MyRec;
Чтобы обратиться к некоторому полю, пишем например Recs[1].имя_поля и можем ему что-то присваивать или брать оттуда значение, как с переменными. В твоей задаче нужно сначала заполнить массив с записями - это можно сделать в цикле - а потом, при поиске жильца, тоже циклом пройти по всем записям, проверяя нужное поле, если совпадает с искомым - вывести все остальные поля.
Спасибо большое за помощь! Процесс пошёл, завтра отпишусь что получилось, ну и задам вопросы если будут
Я вспомнил свой пароль от форума и зашёл из дома)) Так что выкладываю получившийся код сегодня)
program Project2;
{$APPTYPE CONSOLE}
uses SysUtils; type anketa=record fio: string[25]; ini: string[5]; dat_r: string[8]; street: string[25]; home: string[5]; kvart: string[5] end; var mas: array [1..10] of anketa; I: integer; begin for I:=1 to 10 do begin writeln ('vvedite info o ', I , '-m jilce'); writeln ('Vvedite Family'); readln (mas[I].fio); writeln ('Vvedite iniciali'); readln (mas[I].ini); writeln ('Vvedite Daty'); readln (mas[I].dat_r); writeln ('Vvedite street'); readln(mas[I].street); writeln ('Vvedite home'); readln(mas[I].home); writeln ('Vvedite kvartiry'); readln (mas[I].kvart); end; writeln ('Vvod zakon4en'); writeln ; for I:=1 to 10 do if mas[I].fio='pupkin' then begin writeln(' Family : ', mas[I].fio); writeln(' Street : ', mas[I].street); writeln(' Home : ', mas[I].home); writeln(' Kvart : ', mas[I].kvart); readln end end.
И ещё добавилась задача вроде этой, только на запись в файл:
program Project3;
{$APPTYPE CONSOLE}
uses SysUtils; var f1 : text; type anketa=record fio: string[25]; ini: string[5]; dat_r: string[8]; street: string[25]; home: string[5]; kvart: string[5] end; var mas: array [1..10] of anketa; I: integer; begin Assign(f1,'C:/Filename.txt'); ReWrite(f1); for I:=1 to 2 do begin writeln ('vvedite info o ', I , '-m jilce'); writeln (f1,'Введите информацию о ', I , '-м жильце:'); writeln ('Vvedite Family'); writeln (f1,'Введите фамилию:'); readln (mas[I].fio); writeln (f1, mas[I].fio); writeln ('Vvedite iniciali'); writeln (f1,'Введите инициалы:'); readln (mas[I].ini); writeln (f1, mas[I].ini); writeln ('Vvedite Daty'); writeln (f1,'Введите дату рождения:'); readln (mas[I].dat_r); writeln (f1, mas[I].dat_r); writeln ('Vvedite street'); writeln (f1,'Введите улицу:'); readln(mas[I].street); writeln (f1, mas[I].street); writeln ('Vvedite home'); writeln (f1,'Введите дом:'); readln(mas[I].home); writeln (f1, mas[I].home); writeln ('Vvedite kvartiry'); writeln (f1,'Введите квартиру:'); readln (mas[I].kvart); writeln (f1, mas[I].kvart); end; Close(f1); writeln ('Vvod zakon4en'); writeln ; readln end.
Вроде всё понятно, разобрался, вопросов нет, но может у кого-то есть какие-то нарекания) Скажите, если это так) На будущее буду знать