Тематические вопросы с тегом «паскаль» · страница 13

Сергей Самойлов
Сергей Самойлов

Паскаль переделать прогу из двух в одну. Заранее спасибо! Как можно слепить 2 проги для вычисления студентов одного имени: №1 это запыс групы и их оценок, что нестоль важно, а №2 выбор одного имени №1program Laba5Prog;uses crt;const size=5;typeStudent = recordsurname,ownname,patronym:string;marks:recordsda,math,prog,alg:byte;end;end;typeSimpleGroup=array[1..size] of Student;var Group:SimpleGroup;function GetFromString(var str:string):string;var i:integer; tmpstr:string;begini:=1;while str[i]' ' doinc(i);tmpstr:=copy(str,1,i-1);delete(str,1,i);GetFromString:=tmpstr;end;procedure InFromFile(var Group:SimpleGroup);var f:text;tmpstr:string;i,err:integer;beginassign(f,'lab5.txt');reset(f);i:=1;while not EOF(f) dobeginreadln(f,tmpstr);tmpstr:=tmpstr+' ';Group[i].ownname:=GetFromString(tmpstr);Group[i].surname:=GetFromString(tmpstr);Group[i].patronym:=GetFromString(tmpstr);val(GetFromString(tmpstr),Group[i].marks.prog,err);val(GetFromString(tmpstr),Group[i].marks.sda,err);val(GetFromString(tmpstr),Group[i].marks.math,err);val(GetFromString(tmpstr),Group[i].marks.alg,err);inc(i);end;end;procedure OutData(const OutGroup:SimpleGroup);var i:integer;beginwriteln('NAME':10,'SURNAME':10,'PATRONYM':10,'PROG':5,'SDA':5,'MATH':5,'ALG':5);for i:=1 to size dobeginwriteln(Group[i].ownname:10,Group[i].surname:10,Group[i].patronym:10,Group[i].marks.prog:5,Group[i].marks.sda:5,Group[i].marks.math:5,Group[i].marks.alg:5);end;end; -----------------------------------------------------------------------------------------------------------------------------------------------------_________________________________________________________________________________________-----------------------------------------------------------------------------------------------------------------------------------------------____________________________________________________________________________________№2 Program z1;Uses crt;Typered=record;name,fam:string;end;vara,b:array[1..15] of red;i,j,k,l,n,kol:integer;cn,cf: string;writeln('Eoia ioai?a o?aieeia n iaeiaeiauie eiaiaie e oaieeeyie: ');for i:=1 to n-1 dobeginkol:=0;for j:=i+1 to n doif (a[i].name=a[j].name)thenbeginif l=1 thenbeginb[l].name:=a[j].name;b[l].fam:=a[j].fam;inc(l);end;k:=l;while k0 dobeginif (a[j].name=b[k].name) and (a[j].fam=b[k].fam) thenbegininc(kol);break;end;dec(k);end;if kol=0 thenbeginb[l].name:=a[j].name;b[l].fam:=a[j].fam;inc(l);end;end;end;writeln(b[l].name,' ',b[n-l].fam);for i:=1 to l dowriteln(b[i].name,' ',b[i].fam);end.