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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2011, 23:18   #1
Julila
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 125
По умолчанию Обработкамассива с использованием типизированных файлов

не могу исправить ошибку ...
Код:
program lab1_2;
const   n=5;m=4;
  type ta=array[1..n,1..m] of real;
  t=array[1..m] of real;
  var a:ta;
     f1,f2: file of real;
 
procedure sozd;
 var a:ta;
     i,j:integer;
  begin
   rewrite(f1);
    for i:=1 to n do;
     for j:=1 to m do;
      begin
        write ('a[',i,', ',j,']=');
        readln(a[i,j]);
        write(f1, a[i,j]);
      end;
  close(f1);
 end;
 
 procedure vvod(var a:ta);
 var i,j:integer;
  begin
  reset (f1);
 for i:=1 to n do
 begin
 for j:=1 to m do
 begin
  read (f1, a[i,j]);
write (a[i,j]:7:1,  ' ');
 end;
 writeln;
end;
 close(f1);
readln;
end;
 
procedure obrabotka(var a:ta);
var i,j: integer;
sum : real;
begin
j:=0;
while j<=n do
begin
sum:=0;
j:=J+2;
for I:= 1 to n do
sum:=sum+a[i,j];
j:=j+2;
end;
 
 
procedure vivod (var a:ta);
var i,j:integer;
 begin
rewrite(f2);
for i:=1 to n do begin
for j:=1 to n do begin
write (f2, a[i,j]);
write (a[i,j] :7:1, ' ');
end;writeln;
end
close (f2)
readln;
end;
begin
assign (f1 , 'c:\lab1\in.dat);
assign (f1 , 'c:\lab1\out.dat);
sozd;
vvod(a);
obrab(a);
vivod(a);
end.
Julila вне форума Ответить с цитированием
Старый 24.02.2011, 23:37   #2
masterlomaster
Форумчанин
 
Аватар для masterlomaster
 
Регистрация: 21.10.2009
Сообщений: 114
По умолчанию ааааа

Что за задание?
masterlomaster вне форума Ответить с цитированием
Старый 24.02.2011, 23:42   #3
Julila
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 125
Счастье

выполнить обработку двумерного массива с использован. типизир. файловю
Дана матрица размера м*н. для каждого столбца матрицы с четным номером найти сумму его элементов.
условный оперотор не использов.
я исправила эту ошибку. но у меня другая дилема.
оно не правильно обрабатывается.. помогите. вот текст измененный

Код:
 program lab1_2;
const   n=5;m=4;
  type ta=array[1..n,1..m] of real;
  t=array[1..m] of real;
  var a:ta;
     f1,f2: file of real;

procedure sozd;
 var a:ta;
     i,j:integer;
  begin
   rewrite(f1);
    for i:=1 to n do;
     for j:=1 to m do;
      begin
        write ('a[',i,', ',j,']=');
        readln(a[i,j]);
        write(f1, a[i,j]);
      end;
  close(f1);
 end;

 procedure vvod(var a:ta);
 var i,j:integer;
  begin
  reset (f1);
 for i:=1 to n do
 begin
 for j:=1 to m do
 begin
  read (f1, a[i,j]);
write (a[i,j]:7:1,  ' ');
 end;
 writeln;
end;
 close(f1);
readln;
end;

procedure obrabotka(var a:ta);
var i,j: integer;
sum : real;
begin
j:=0;
while j<=n do
begin
sum:=0;
j:=J+2;
for I:= 1 to n do
sum:=sum+a[i,j];
j:=j+2;
end;
end;


procedure vivod (var a:ta);
var i,j:integer;
 begin
rewrite(f2);
for i:=1 to n do begin
for j:=1 to n do begin
write (f2, a[i,j]);
write (a[i,j] :7:1, ' ');
end;writeln;
end;
close (f2);
readln;
end;
begin
assign (f1 , 'c:\lab1\in.dat');
assign (f1 , 'c:\lab1\out.dat');
sozd;
vvod(a);
obrabotka(a);
vivod(a);
end.
Julila вне форума Ответить с цитированием
Старый 25.02.2011, 00:26   #4
masterlomaster
Форумчанин
 
Аватар для masterlomaster
 
Регистрация: 21.10.2009
Сообщений: 114
По умолчанию ааааа

Тут только процедуры, покажите дальше
masterlomaster вне форума Ответить с цитированием
Старый 25.02.2011, 00:28   #5
Julila
Форумчанин
 
Регистрация: 04.01.2011
Сообщений: 125
По умолчанию

процедура обработки не пашет. это вся программа
Julila вне форума Ответить с цитированием
Старый 25.02.2011, 09:00   #6
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Код:
assign (f1 , 'c:\lab1\in.dat');
assign (f1 , 'c:\lab1\out.dat');
неправильно !
как минимум, надо :

Код:
assign (f1 , 'c:\lab1\in.dat');
assign (f2 , 'c:\lab1\out.dat');
masterlomaster какой информативностью обладает Ваш ответ ? код ведь четко и ясно поделен на обявление var/const, несколько процедур и программные begin-код-end, будьте добры не засорять, а разобраться

по теме, кроме вышеописанного косяка не разбирал, после Вашей проверки с исправленной ошибкой пишите новые ошибки, если появятся, разберемся

УПД. хм.. всё-таки посмотрел, возможно, Вы неправильно работает с файлами, выпишите из процедур все reset и rewrite в главный код до вызова процедур, и все closefile после вызова процедур, мб это ничего не изменит, ибо паскаль у меня дело давнее, но возможно, что и это ведет к ошибке, НО в любом случае, выписав эти вещи в главный код ошибки точно не будет

Последний раз редактировалось phomm; 25.02.2011 в 09:04.
phomm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интерсная задача!Составление программ с использованием типизированных файлов locdoc Помощь студентам 27 06.12.2010 17:41
Программирование с использованием записей и файлов fuzo Помощь студентам 4 06.10.2010 20:14
Задания по ДЕЛФИ (массивы, потом с использованием файлов и строк) ramaboss Помощь студентам 11 14.12.2008 17:29
Вывод графики с использованием отображаемых файлов Евгения Общие вопросы Delphi 1 20.02.2007 20:37