Другие языки программирования и технологии
Организовать массив записей, содержащий информацию о фамилии, имени, отчестве - Pascal
Организовать массив записей, содержащий информацию о фамилии, имени, отчестве и номере телефона пяти ваших товарищей. Поместить в массив сведения о районе проживания этих товарищей, определив его по первым 2-3 цифрам телефона.
Email укажешь: куда файлы высылать с регионами? ссылка на файл с регионами "ru.files.fm/u/92d4ffwj"
type anketa = record
fio: string [10];
name: string [10];
secondname: string [15];
phone: int64;
end;
var i, j, n, tel: integer;
table: array [1..100] of anketa;
f: textfile;
a: array [1..100] of string;
const fio_man : array [1..7] of string = ('Иванов', 'Петров','Сидоров','Каменев','Попов','Куба','Тимашенко' );
name_man : array [1..7] of string = ('Алексей', 'Сергей','Андрей','Олег','Игорь','Петр','Тимофей' );
fio_woman : array [1..7] of string = ('Иванова', 'Петрова','Сидорова','Каменева','Попова','Кубикова','Петренко' );
name_woman : array [1..7] of string = ('Арина', 'Марина','Карина','Полина','Ирина','Мальвина','Малина' );
begin
randomize;
write (' Введите количество товарищей [1..25]:');
readln (n);
writeln;
writeln ('Фамилия Имя':17,'Телефон':18);
for i:=1 to n do
begin
if random (2) = 0 then
begin
table[i].fio:= fio_man [1+random(7)];
table[i].name:= name_man [1+random(7)];
end
else
begin
table[i].fio:= fio_woman [1+random(7)];
table[i].name:= name_woman [1+random(7)]
end;
table[i].phone:=1+random (99);
write (table[i].fio, ' ');
write (table[i].name);
for j:=1 to 25-length (table[i].name) - length (table[i].fio) do write (' ');
if table[i].phone < 10 then write ('8-(0',table[i].phone,')-',100000+random(99999))
else write ('8-(',table[i].phone,')-',100000+random(99999));
writeln ;
end;
assign (f, 'region00.txt');
reset (f);
i:=0;
while not Eof(f) do
begin
inc(i);
readln (f, a[i]);
a[i]:=copy(a[i], 3, length(a[i])-2);
//writeln (a[i]);
end;
close (f);
writeln ('__________________________________________________');
write ('Введите код региона проживания (автомобильные регионы 01...99): 8-(xx) = ');
readln (tel);
writeln ('Фамилия Имя':17,'Телефон':18);
for i:=1 to n do
if table[i].phone = tel then
begin
write (table[i].fio, ' ');
write (table[i].name);
for j:=1 to 25-length (table[i].name) - length (table[i].fio) do write (' ');
write (a[i]);
writeln ;
end;
end.
Образец файла "region.txt" представлен ниже (все не вместилось, остальное по ссылке выше, или скачать Интернета и дописать в файл, хотя бы до 100 строчек):
01Республика Адыгея
02Республика Башкортостан (1993-2006 гг)
03Республика Бурятия
04Республика Алтай
05Республика Дагестан
06Республика Ингушетия
07Кабардино-Балкарская Республика
08Республика Калмыкия
09Карачаево-Черкесская Республика
type anketa = record
fio: string [10];
name: string [10];
secondname: string [15];
phone: int64;
end;
var i, j, n, tel: integer;
table: array [1..100] of anketa;
f: textfile;
a: array [1..100] of string;
const fio_man : array [1..7] of string = ('Иванов', 'Петров','Сидоров','Каменев','Попов','Куба','Тимашенко' );
name_man : array [1..7] of string = ('Алексей', 'Сергей','Андрей','Олег','Игорь','Петр','Тимофей' );
fio_woman : array [1..7] of string = ('Иванова', 'Петрова','Сидорова','Каменева','Попова','Кубикова','Петренко' );
name_woman : array [1..7] of string = ('Арина', 'Марина','Карина','Полина','Ирина','Мальвина','Малина' );
begin
randomize;
write (' Введите количество товарищей [1..25]:');
readln (n);
writeln;
writeln ('Фамилия Имя':17,'Телефон':18);
for i:=1 to n do
begin
if random (2) = 0 then
begin
table[i].fio:= fio_man [1+random(7)];
table[i].name:= name_man [1+random(7)];
end
else
begin
table[i].fio:= fio_woman [1+random(7)];
table[i].name:= name_woman [1+random(7)]
end;
table[i].phone:=1+random (99);
write (table[i].fio, ' ');
write (table[i].name);
for j:=1 to 25-length (table[i].name) - length (table[i].fio) do write (' ');
if table[i].phone < 10 then write ('8-(0',table[i].phone,')-',100000+random(99999))
else write ('8-(',table[i].phone,')-',100000+random(99999));
writeln ;
end;
assign (f, 'region00.txt');
reset (f);
i:=0;
while not Eof(f) do
begin
inc(i);
readln (f, a[i]);
a[i]:=copy(a[i], 3, length(a[i])-2);
//writeln (a[i]);
end;
close (f);
writeln ('__________________________________________________');
write ('Введите код региона проживания (автомобильные регионы 01...99): 8-(xx) = ');
readln (tel);
writeln ('Фамилия Имя':17,'Телефон':18);
for i:=1 to n do
if table[i].phone = tel then
begin
write (table[i].fio, ' ');
write (table[i].name);
for j:=1 to 25-length (table[i].name) - length (table[i].fio) do write (' ');
write (a[i]);
writeln ;
end;
end.
Образец файла "region.txt" представлен ниже (все не вместилось, остальное по ссылке выше, или скачать Интернета и дописать в файл, хотя бы до 100 строчек):
01Республика Адыгея
02Республика Башкортостан (1993-2006 гг)
03Республика Бурятия
04Республика Алтай
05Республика Дагестан
06Республика Ингушетия
07Кабардино-Балкарская Республика
08Республика Калмыкия
09Карачаево-Черкесская Республика
Похожие вопросы
- Дан массив из 20 элементов. Найти номер минимального элемента. (Pascal ABC)
- как найти в массиве слова содержащие более 5 букв (делфи) подскажите алгоритм нахождения таких слов (делфи)
- какие форматы файлов для записи видео информации Вам известны? чем они отличаются???
- Может ли фото содержать информацию адреса? Можно ли увидеть фото частного дома, если знаешь адрес?
- Pascal одномерные массивы.
- Нужно подправить программу в Pascal на одномерные массивы.
- Помогите сделать задания по програмированию(двумерные массивы)Turbo Pascal
- Turbo Pascal. Определить, является ли массив унимодальным, (т.е. содержит ли он элементы только одного знака).
- Pascal . Дан массив вещественных чисел. Найти сумму элементов, номера которых являются простыми числами
- Сортировка одномерного массива + вставка числа в отсортированный массив PASCAL