![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
MyNameIs |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 19 Пол: Мужской Репутация: ![]() ![]() ![]() |
Очень нужна во вторник задача, точнее лаба. Без неё на экзамен не допустят
![]() Задача на ссылки. Составить список группы, содержащей 15 человек. Указать для каждого студента оценки, полученные на последних экзаменах. Разработать программу, позволяющую вводить данные о студентах, заносить эту инфу в файл dan.dat. Включить в список инфу, относящуюся к студентам, у которых больше одной 2. Добавить в конец списка студентов, имеющих хотябы 1 двойку. Удалить из начала списка 2 студентов. Вот сдесь я пытался чтото делать, но ничего не выходить ![]() program ddddddddd;
uses crt;
type point=^stud;
stud=record
fam:string[25];
mat:integer;
rus:integer;
istor:integer;
him:integer;
fiz:integer;
next:point;
end;
point1=^stud1;
stud1=record
fam:string[25];
mat:integer;
rus:integer;
istor:integer;
him:integer;
fiz:integer;
next:point;
end;
point2=^stud2;
stud2=record
fam:string[25];
mat:integer;
rus:integer;
istor:integer;
him:integer;
fiz:integer;
next:point;
end;
point3=^stud3;
stud3=record
fam:string[25];
mat:integer;
rus:integer;
istor:integer;
him:integer;
fiz:integer;
next:point;
end;
var
f: text;
n,n1,n3,i:integer;
d,tmp,p,t:point;
d1,tmp1,p1,t1:point;
d2,tmp2,p2,t2:point;
d3,tmp3,p3,t3:point;
k:integer;
begin
clrscr;
t:=nil;
t1:=nil;
assign(f,'den.dat'); rewrite(f);
writeln('Vvedite kolichestvo studentov[15..]');readln (n);
for i:=1 to n do begin
new(tmp);
write ('Fam=> ');readln(tmp^.fam); writeln(f,tmp^.fam);
write ('Mat=> ');readln(tmp^.mat);writeln(f,tmp^.mat) ;
write ('Rus=> ');readln(tmp^.rus);writeln(f,tmp^.rus) ;
write ('Istor=> ');readln(tmp^.istor);writeln(f,tmp^.istor) ;
write ('Him=> ');readln(tmp^.him); writeln(f,tmp^.him) ;
write ('Fiz=> ');readln(tmp^.fiz);writeln(f,tmp^.fiz) ;
tmp^.next:=t;
t:=tmp;
end;
close(f);
clrscr;
while (t<>nil) do begin
writeln(t^.fam,' ', t^.mat,' ', t^.rus,' ', t^.istor,' ', t^.him ,' ',t^.fiz);
t:=t^.next;
end;
{Formirovanie new}
t:=tmp;
n1:=1;
for i:=1 to n do begin
k:=0;
if (t^.mat=2) then k:=k+1;
if (t^.rus=2) then k:=k+1;
if (t^.istor=2) then k:=k+1;
if (t^.him=2) then k:=k+1;
if (t^.fiz=2) then k:=k+1;
if (k>1) then begin
new (tmp1);
tmp1^.fam:=tmp^.fam;
tmp1^.mat:=tmp^.mat;
tmp1^.rus:=tmp^.rus;
tmp1^.istor:=tmp^.istor;
tmp1^.him:=tmp^.him;
tmp1^.fiz:=tmp^.fiz;
tmp1^.next:=t1;
t1:=tmp1;
n1:=n1+1;
end;
end;
{Dobavlenie}
for i:=1 to n do begin
k:=0;
if (t^.mat=2) then k:=k+1;
if (t^.rus=2) then k:=k+1;
if (t^.istor=2) then k:=k+1;
if (t^.him=2) then k:=k+1;
if (t^.fiz=2) then k:=k+1;
if (k>0) then begin
new (tmp1);
tmp1^.fam:=tmp^.fam;
tmp1^.mat:=tmp^.mat;
tmp1^.rus:=tmp^.rus;
tmp1^.istor:=tmp^.istor;
tmp1^.him:=tmp^.him;
tmp1^.fiz:=tmp^.fiz;
tmp1^.next:=Nil;
t1:=tmp1;
n1:=n1+1;
end;
end;
{ud-e zad-go el-ta}
t1:=tmp1;
n3:=1;
for i:=1 to n1 do begin
if (i<=2) then begin
new (tmp2);
tmp2^.fam:=tmp1^.fam;
tmp2^.mat:=tmp1^.mat;
tmp2^.rus:=tmp1^.rus;
tmp2^.istor:=tmp1^.istor;
tmp2^.him:=tmp1^.him;
tmp2^.fiz:=tmp1^.fiz;
tmp2^.next:=t2;
t2:=tmp2;
end;
if (i>2) then begin
new (tmp3);
tmp3^.fam:=tmp1^.fam;
tmp3^.mat:=tmp1^.mat;
tmp3^.rus:=tmp1^.rus;
tmp3^.istor:=tmp1^.istor;
tmp3^.him:=tmp1^.him;
tmp3^.fiz:=tmp1^.fiz;
tmp3^.next:=t3;
t3:=tmp3;
n3:=n3+1;
end;
end;
readkey;
clrscr;
for i:=1 to 2 do begin
writeln(t2^.fam,' ', t2^.mat,' ', t2^.rus,' ', t2^.istor,' ', t2^.him ,' ',t2^.fiz);
t2:=t2^.next;
end;
readkey;
clrscr;
writeln;
for i:=1 to n3 do begin
writeln(t3^.fam,' ', t3^.mat,' ', t3^.rus,' ', t3^.istor,' ', t3^.him ,' ',t3^.fiz);
t3:=t3^.next;
end;
readkey;
end.
|
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
давай по порядку.
1) чем отличаются типы stud,stud1,stud2? 2) {Dobavlenie}. Почему tmp1^.next:=Nil;
?-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
MyNameIs |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 19 Пол: Мужской Репутация: ![]() ![]() ![]() |
давай по порядку. 1) чем отличаются типы stud,stud1,stud2? 2) {Dobavlenie}. Почему tmp1^.next:=Nil;
?Писал эту лабу я давно, а сдаю только щас и понял, что ошибок много. Про ссылки всё забыл ![]() Насколько помню, студы одинаковые ставил, т.к. хотел СТАРУЮ запись не портить НОВОЙ. Т.е. редактировать новую запись студ 1 и тп. Нил не помню ![]() П.С. Если не трудно, дайте ссылку на какойнить исходник по ссылкам(о как), лаба горит, а сдавать завтра(( Сообщение отредактировано: MyNameIs - 18.12.2006 20:02 |
мисс_граффити |
![]()
Сообщение
#4
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
так это ж не переменные, а типы....
тип ничем не испортишь. ссылки... это, вообще-то, в данном случае указатели. почитай в FAQ про них. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
MyNameIs |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 19 Пол: Мужской Репутация: ![]() ![]() ![]() |
Да, и ещё:
1. как отсортировать матрицу по столбцам. 2. как удалить указанную строку из матрицы. Сортировать по строкам научился, а по столбцам нет). А при удалении столбца, получается придётся записывать в новую матрицу?? П.С. Надеюсь это не нарушение правил форума.. ![]() |
![]() ![]() |
![]() |
Текстовая версия | 25.07.2025 12:24 |