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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 21.04.2011, 15:17   #1
Олег093
Пользователь
 
Регистрация: 17.04.2011
Сообщений: 18
По умолчанию проблема с программой

помогите исправить ошибки.задача: Ввести 2 целочисленных файла в которых первая компонента – количество строк, а вторая – количество столбцов в хранящихся в этих файлах матрицах. Третья компонента – сумма всех элементов в этих матрицах. Восстановить исходные матрицы , и вывести их. В случае невозможности проведения операции восстановления (элементов в файле меньше заявленного или размерность меньше 1) вывести об этом сообщение. Кроме того, вывести истинную и заявленные суммы элементов в матрицах. (прим.: при решении использовать подпрограммы)
Вот текст проги:
program MaxMInExch;
uses crt;
const L=10;
type T2M = array[1.. L,1..L] of integer;
Tname = string[4];
TF = file of integer;
var A1,A2: T2M;
F1,F2 :TF;
N1,N2,M1,M2:byte;
S,K:integer;

// процедура для ввода файла
procedure VvodF(var F:TF; const name:Tname);
var buf:integer;
begin
rewrite(F);
writeLn('введите первую компоненту файла ', name);
writeLn('999 - окончание ввода');
readLn(buf);
while buf<>999 do
begin
write(F,buf);
writeLn('введите следующую компоненту:');
readLn(buf);
end;
end;

// процедура для вывода файла
procedure VivodF(var F:TF; const name:Tname);
var buf:integer;
begin
reset(F);
writeLn('Выводим файл ', name);
while not EOF(F) do
begin
read(F,buf);
write(buf:5);
end;
writeLn;
end;



// формирование матриц из файла
procedure form(var F:Tf; var A:T2m; var i,j:byte);
var buf:integer;
begin
while not eof(f) do
begin
read(f,buf);
seek(f,filepos(f)-1);
i:=buf;
read(f,buf);
seek(f,filepos(f)-1);
j:=buf;
end;
end;

// процедура для вывода матрицы
procedure VivodMx(const A:T2m; const N,M: byte; const name:Tname);
var i,j:byte;
begin
writeLn('Матрица ',name,' после формирования:');
for i:=1 to N do
begin
for j:=1 to M do
write(A[i,j]:4);
writeLn;
end;
end;


// вычисление истинной суммы элементов матрицы
function podschetS(const A:T2m;const N,M:byte):integer;
var s:integer;
var i,j:byte;
begin
S:=0;
for i:=1 to N do
begin
for J:=1 to M do
begin
S:=S+A[i,j];
end;
end;
podschetS:=S;
end;

//вычисление заявленной суммы
function summa(var F:Tf):integer;
var K,buf:integer;
begin
seek(f,3);
while not eof(f) do
begin
read (f,buf);
seek(F,filepos(f)-1);
K:=buf;
end;
summa:=K;
end;
// основная программа
begin
cls;
// инициализация файла F1
Assign(F1,'F1.dat');
VvodF(F1,'F1');
// инициализация файла F2
Assign(F2,'F2.dat');
VvodF(F2,'F2');
VivodF(F1,'F1');
VivodF(F2,'F2');



form(F1,A1,N1,M1);
form(F2,A2,N2,M2);
VivodMx(A1,N1,M1,'A1');
S:=podschetS(A1,N1,M1);
writeln('истинная сумма=',s);
K:=summa(F1);
writeln('заявленная сумма=',k);
VivodMx(A2,N2,M2,'A2');
s:=podschetS(A2,N2,M2);
writeln('истинная сумма=',s);
k:=summa(F2);
writeln('заявленная сумма=',k);
close(F1);
close(F2);
end.
Олег093 вне форума
Старый 21.04.2011, 16:17   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

код не оформлен.

Тема нарушает правила.

ЗАКРЫТО!
Serge_Bliznykov вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с программой тузлук Помощь студентам 1 21.04.2011 16:05
Проблема с программой kamil83 Помощь студентам 1 25.02.2011 07:58
Проблема с программой. elDiablo Паскаль, Turbo Pascal, PascalABC.NET 2 17.08.2010 21:59
Проблема с программой DjSeNseI Win Api 2 12.07.2010 00:03
Проблема с программой bboba Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 18.06.2009 19:50