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

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

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

> 3 задачи... (полуработающие!) Help..., Использование переменных динамического типа + работа с файлами
DCRM
сообщение 26.11.2006 1:42
Сообщение #1


Интерпретатор


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

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


Люди, ХЕЛП!!!
Вот поехали...:
Задача 1!
Условие:
В последовательности из 10 5ти буквенных слов найти и поменять местами пару слов, у которых 1е три буквы совпадают с тремя последними буквами другого...
Вот мой ответ(использую автозаполнение, ИМХО лень заполнять))) ):
РАБОТАЕТ ЧЕРЕЗ РАЗ, ИНОГДА ДВОИТ СЛОВА И ГЕНРИТ ФИГ ЗНАЕТ КАКИЕ СЛОВА...

program Z1;
uses CRT;
const
m=10;
type
myword=string[5];
var
massiv:array[1..m] of myword;
t,z:string[3];
ii,i1,ii1:1..m;
i:integer;
q:myword;

function genword:Myword;
var
i:integer;
tstr:myword;

begin

tstr:='';

for i:= 1 to 5 do
tstr:=tstr+chr(random(4)+65);
genword:=tstr;
end;
begin
randomize;

for i:=1 to m do
massiv[ i ]:=genword;

for i:=1 to m do
begin
write(massiv[ i ]:6);
end;
writeln;
{PROGA}
for i:=1 to m do
begin
t:=copy(massiv[ i ],1,3);
i1:=i;
for ii:=1 to m do
begin
if ii<>i then
z:=copy(massiv[ii],3,3);
ii1:=ii;
if t=Z then
begin
writeln (massiv[ i ],' ',massiv[ii]);
q:=massiv[ii1];
massiv[ii1]:=massiv[i1];
massiv[i1]:=q;
end;
end;
end;
for i:=1 to m do
begin
write(massiv[ i ]:6);
end;
readln;
end.


Задача 2!
Тема:
Работа с внешними файлами

Условие:
Создать файл, содержащий сведения о студентах вашей группы (ФИО, дата рождения):
а) Выбрать самого младшего студента.
б) Выбрать самого старшего.
в) упорядочить по возрасту.

Вот мой ответ:
НЕ МОГУ ДОЕХАТЬ КАК ПУНКТ 3 СДЕЛАТЬ

program Z4;
type
info=record
fam,im,ot:string[15];
dr,mr,gr:integer;
end;
Spisok=file of info;
var
inf:info;
spi:spisok;
i,msd,msm,msg,ssd,ssm,ssg,k:integer;
begin
writeln('‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® бв㤥­в®ў:');
readln(k);
assign(spi,'g:\stud.dat');
rewrite(spi);
for i:=1 to k do
begin
with inf do
begin
writeln('Ќ®¬Ґа бв㤥­в : ',i,' ”®а¬ в § ЇЁбЁ: ” ¬Ё«Ёп, ?¬п, ЋвзҐбвў®, „Ґ­м! ЊҐбпж! ѓ®¤! ஦¤Ґ­Ёп');
readln(fam);
readln(im);
readln(ot);
readln(dr);
readln(mr);
readln(gr);
end;
write(spi,inf);
end;
close(spi);
reset(spi);
{‘ ¬л© ¬« ¤иЁ©}
ssd:=0;
ssm:=0;
ssg:=0;
for i:=1 to k do
begin
read(spi,inf);
if (inf.gr>ssg) then
begin
ssg:=inf.gr;
ssm:=inf.mr;
ssd:=inf.dr;
end;
if (inf.gr=ssg) then
begin
if (inf.mr>ssm) then
begin
ssg:=inf.gr;
ssm:=inf.mr;
ssd:=inf.dr;
end;
if (inf.mr=ssm) then
begin
if (inf.dr>ssd) then
begin
ssg:=inf.gr;
ssm:=inf.mr;
ssd:=inf.dr;
end;
end;
end;
end;
close(spi);
reset(spi);

{‘ ¬л© бв аиЁ©}
msd:=ssd;
msm:=ssm;
msg:=ssg;
for i:=1 to k do
begin
read(spi,inf);
if (inf.gr<msg) then
begin
msg:=inf.gr;
msm:=inf.mr;
msd:=inf.dr;
end;
if (inf.gr=msg) then
begin
if (inf.mr<msm) then
begin
msg:=inf.gr;
msm:=inf.mr;
msd:=inf.dr;
end;
if (inf.mr=msm) then
begin
if (inf.dr<msd) then
begin
msg:=inf.gr;
msm:=inf.mr;
msd:=inf.dr;
writeln('=! ',inf.fam,inf.im,inf.ot,inf.dr,inf.mr,inf.gr);
end;
end;
end;
end;
close(spi);
reset(spi);
{Џ®бв஥­ЁҐ бЇЁбЄ }
for i:=1 to k do
begin
read(spi,inf);
if (inf.gr<ssg) then
begin
writeln('= ',inf.fam,inf.im,inf.ot,inf.dr,inf.mr,inf.gr);
end;
if (inf.gr=ssg) then
begin
if (inf.mr<ssm) then
begin
writeln('= ',inf.fam,inf.im,inf.ot,inf.dr,inf.mr,inf.gr);
end;
if (inf.mr=ssm) then
begin
if (inf.dr<ssd) then
begin
writeln('= ',inf.fam,inf.im,inf.ot,inf.dr,inf.mr,inf.gr);
end;
end;
end;
end;
close(spi);
reset(spi);
{+1}
for i:=1 to k do
begin
read(spi,inf);
if (ssd=inf.dr) and (ssm=inf.mr) and (ssg=inf.gr) then writeln('= ',inf.fam,inf.im,inf.ot,inf.dr,inf.mr,inf.gr);
end;
close(spi);
reset(spi);
{‘ЇЁб®Є Ё +1 ўлў®¤Ёв в®«мЄ® ўҐбм ўўҐ¤с­­л© бЇЁб®Є... ЉЂЉ ”ЏЋђџ„Ћ—?’њ ЏЋ ‚Ћ‡ђЂ‘’”???}
{‚лў®¤ १г«мв в }
for i:=1 to k do
begin
read(spi,inf);
if (ssd=inf.dr) and (ssm=inf.mr) and (ssg=inf.gr) then writeln('Њ« ¤иЁ© бв㤥­в= ',inf.fam,inf.im,inf.ot,inf.dr,inf.mr,inf.gr);
if (msd=inf.dr) and (msm=inf.mr) and (msg=inf.gr) then writeln('‘в аиЁ© бв㤥­в= ',inf.fam,inf.im,inf.ot,inf.dr,inf.mr,inf.gr);
end;
close(spi);
readln;
end.



Задача 3!
Тема:
Использование переменных динамического типа

Условие:

1. Создать однонаправленный список, состоящий из элементов, в качестве дынных которых используются записи из задачи 2
2. Вывести на экран данные динамического списка на экран
3. Дополнить список в начале и в конце...
4. Удалить элемент:
а) первый в списке
б) последний в списке
в) с заданным номером
г) с заданным ключём
5. Поменять местами элементы:
а) с заданными номерами;
б) с заданными ключами.

Вот мой ответ:
ХЗ


--------------------
Сноп огня в кулаке эта жизнь нажила,
Возжелавшая боли и брани,
Много жизней Орды,
Поле брани берёт,
Гневь и кровь льются реками,
И горят вдалеке полевые костры,
И остры адамантовы грани.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов
volvo
сообщение 28.11.2006 1:59
Сообщение #2


Гость






 ! 
Цитата(Правила Раздела)
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
Done...
volvo

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

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


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

 



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