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

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

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

 
 Ответить  Открыть новую тему 
> Два задания, чтот-то с сортировкой, и с векторами
сообщение
Сообщение #1





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

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


blink.gif помогите пожалуйста просто горю пора сдавать а у мне не получается написатьна TURBO PASCALE эти проги заранее благодарен:

1) Заданы два вектора X и Y и матрица А. Найти сумму двух векторов C и D
где С есть произведение вектора X на матрицу А , а вектор D произведения вектора Y на матрицу А. Вычислить произведение вектора на матрицу оформить в виде подпрограммы.

2) Оргонизовать фаид , содержащий информацию об ученой группе. Для каждог учащегося
указать фамилиююъ , имя , дату рождения , год поступления в ВУЗ , курс , группу , оценки
за каждый год обучения. Список упорядочить по дате поступления в ВУЗ.

<_< Сама вторая прога у меня есть а вот отсортировать не получается. Помогите если сможите. А если непонятно напишите новую.

Код

uses crt;
type pupil=record
name:string;
surname:string;
grup:string;
school:string;
kurs:string;
class:byte;
end;
var school:array[1..3]{кч}of pupil;
n: 1..3{кч};
b,c:byte;

procedure sort;
var w,x:integer;
begin
 for i:=1 to n-1 do
 begin
    x:=i;
    for j:=i+1 to n do
       if a[x]>a[j] then x:=j;
    w:=a[x];
    a[x]:=a[i];
    a[i]:=w;
 end;
end;

procedure input_data;
begin
writeln('введите данные №',n,' :');

write('фамилия ?'); readln(school[n].name);
write('дата рождения ?'); readln(school[n].surname);

write('год поступления ?'); readln(school[n].school);

write('оценка ?'); readln(school[n].class);
write('курс ?');   readln(school[n].kurs);
write('группа ?'); readln(school[n].grup);
writeln;
end;
procedure write_data;
begin
with school[n] do begin
writeln('оценка ',class,' фамилия ',name,' дата рожд ',surname,' год поступ ',school,' курс ',kurs,' группа ',grup);
end;
end;


Не забывайте теги [ CODE] и [ /CODE]

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Darkmaximus
Это как понимать?

Второй раз те же задания?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


Ну вообщето уме со второй задачей не получается а первая у меня на Делфи что-то не компелируется наверно Делфи глючный.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Darkmaximus
Вот принцип сортировки записей:
Код

Uses Crt;

Type
 TStudent =
   Record
     name, surname: String;
     birthdate: String;
     year: Integer;
     Kurs: String;
     group: Byte;
     grade: Byte;
   End;
 TStudentFile = File Of TStudent;

Const
 maxStudent = 10;
Var
 TInfo: Array[1 .. maxStudent] Of TStudent;

Procedure sort(n: Integer);
 Var
   i, j: Integer;
   T: TStudent;
 Begin
   For i := 1 To n Do
     For j := n DownTo i+1 Do
       If TInfo[Pred(j)].year > TInfo[j].year Then { < }
         Begin
           T := TInfo[Pred(j)]; TInfo[Pred(j)] := TInfo[j]; TInfo[j] := T
         End
 End;

Procedure input_data(n: integer);
 Begin
   WriteLn('input data #', n,': ');
   With TInfo[n] do
     Begin
       Write('name > '); ReadLn(name);
       Write('surname > '); ReadLn(surname);

       Write('birth date > '); ReadLn(birthdate);
       Write('year > '); ReadLn(year);
       Write('course > '); ReadLn(kurs);
       Write('group > '); ReadLn(group);
       Write('grade > '); ReadLn(grade);
     End;
   WriteLn;
 End;

Procedure write_data(n: Integer);
 Begin
   With TInfo[n] Do
     WriteLn('grade ', grade, ' name ', name,
             ' surname ', surname, ' birthdate ', birthdate,
             ' year ', year, ' kurs ', kurs, ' group ',group);
 End;

Procedure write_file(Var f: TStudentFile;
         n: Integer);
 Begin
   With TInfo[n] Do
     WriteLn('grade ', grade, ' name ', name,
             ' surname ', surname, ' birthdate ', birthdate,
             ' year ', year, ' kurs ', kurs, ' group ',group);
 End;

Var
 f: TStudentFile;
 i: Integer;

Begin
 For i := 1 To maxStudent Do
   input_data(i);

 sort(maxStudent);

 For i := 1 To maxStudent Do
   write_data(i);

 Assign(f, 'STUD.DAT');
 Rewrite(f);
 For i := 1 To maxStudent Do
   write_file(f, i);
 Close(f)
End.
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 7.05.2024 17:47
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name