Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2009, 17:17   #1
kiko
Пользователь
 
Аватар для kiko
 
Регистрация: 19.11.2008
Сообщений: 24
Лампочка Помогите с решением задач - типизированные файлы, матрица...

Люди добрые помогите пожалуйста...

1. Создать файл содержащий сведения о студентах.
Фамилия, № группы, Оценка по программированию, Оценка по математике.
Вывести фамилии студентов имеющих двойки хотя бы по одному предмету.
Вывести студентов имеющих хорошие оценки (4, 5.).
Вывести студентов определенной группы.

Программу нужно оформить в меню...


2. Вычеслить и запомнить суммы положительных элементов каждой строки матрицы А(10,20), В(15,10)



пожалуйста, будьте добры помогите
нет ничего не возможного ...
kiko вне форума Ответить с цитированием
Старый 19.01.2009, 17:54   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вторая:
Код:
uses crt;
var A : array[1..10,1..20] of integer;
B : array[1..15,1..10] of integer;
i,j : integer;
sum1 : array[1..10] of integer;
sum2 : array[1..15] of integer;
begin
clrscr;
randomize;
writeln('Matrix A: ');
for i:=1 to 10 do
  begin
  sum1[i] := 0;
  for j:=1 to 20 do
   begin
   a[i,j] := random(20)-9;
   write(a[i,j]:3);
   if a[i,j]>0 then sum1[i] := sum1[i] + a[i,j];
   end;
  writeln;
  end;
writeln;
readkey;
writeln('Matrix B:');
for i:=1 to 15 do
  begin
  sum2[i] := 0;
  for j:=1 to 10 do
    begin
    b[i,j] := random(20)-9;
    write(b[i,j]:3);
    if b[i,j]>0 then sum2[i] := sum2[i] + b[i,j];
    end;
  writeln;
  end;
{--------}
writeln;
readkey;
writeln('-- Matrix A: ');
for i:=1 to 10 do
  writeln('Summa stroki ',i,'= ',sum1[i]);
writeln('-- Matrix B: ');
readkey;
for i:=1 to 15 do
  writeln('Summa stroki ',i,'= ',sum2[i]);
readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 19.01.2009, 19:43   #3
kiko
Пользователь
 
Аватар для kiko
 
Регистрация: 19.11.2008
Сообщений: 24
По умолчанию

огромное спасиб Sazary... кину отзыв
нет ничего не возможного ...
kiko вне форума Ответить с цитированием
Старый 19.01.2009, 20:54   #4
kiko
Пользователь
 
Аватар для kiko
 
Регистрация: 19.11.2008
Сообщений: 24
По умолчанию

Людь добрые, очень вас прошу помогите с решеием задачи на файлы...
нет ничего не возможного ...
kiko вне форума Ответить с цитированием
Старый 20.01.2009, 09:15   #5
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию 2

Код:
uses crt;
type TStud=record
      surname,num:string[20];
      pr,m:byte;
     end;

var x:TStud;
    i:integer;
    f:file of TStud;
    s:string;

begin
assign(f,'c:\1.dat');
reset(f);
repeat
writeln('Input info about student');
readln(x.surname);
readln(x.num);readln(x.pr);readln(x.m);
write(f,x);
writeln('Continue(Esc - exit)?');
until readkey=#27;
close(f);

repeat
clrscr;
assign(f,'c:\1.dat');
reset(f);
writeln('1-surname;2-group;3-all good;4-bad');
case readkey  of
'1':begin
      writeln('Input surname');
      readln(s);
      while not(eof(f)) do
       begin
        read(f,x);
        if x.surname=s then writeln(x.surname,' ',x.num,' ',x.pr,' ',x.m);
       end;
    end;
'2':begin
      writeln('Input group');
      readln(s);
      while not(eof(f)) do
       begin
       read(f,x);
       if x.num=s then writeln(x.surname,' ',x.num,' ',x.pr,' ',x.m);
       end;
    end;
'3':begin
      while not(eof(f)) do
       begin
       read(f,x);
        if (x.pr>=4) and (x.m>=4) then writeln(x.surname,' ',x.num,' ',x.pr,' ',x.m);
       end;
    end;
'4':begin
      while not(eof(f)) do
       begin
       read(f,x);
        if (x.pr=2) or (x.m=2) then writeln(x.surname,' ',x.num,' ',x.pr,' ',x.m);
       end;
    end;
end;
close(f);
writeln('Press ESC for exit');
until readkey=#27;

end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пожалуйста, с решением задач. Vampiressa Помощь студентам 3 06.03.2014 19:42
Помогите с решением задач. oblachko Паскаль, Turbo Pascal, PascalABC.NET 4 17.12.2008 19:45
ПОМОГИТЕ!! Типизированные и нетипизированные файлы. Zebo Помощь студентам 1 08.06.2007 09:35