Показать сообщение отдельно
Старый 04.05.2012, 10:19   #9 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Драть вас, студентов, некому. Ремнем. Ну неужели вы не понимаете, что если сразу выложите ясное и полное задание, то будет легче и нам, и вам? И почему мы должны это из вас клещами тянуть?
Теперь об ошибках. Ну ладно описки типа Writeln(A[1,m]_; - подчерк вместо закрывающей скобки и т.п., но самое главное - Вы, к сожалению, совсем не знаете, как работать с файлами. Запомните:
1. Файловую переменную необходимо задать, т.е. в разделе Var должно стоять что-то вроде
f:Text;
или
Xxx: file of Integer;
2. При записи в файл и чтении из файла в параметрах команды должно стоять имя файловой переменной, например
readln(f,a[i,j]);
write(Xxx,D);
и т.п.
3. При использовании функции EoF (End of File) необходимо опять же указывать имя файловой переменной, т.е.
EoF(f); или EoF(Xxx);
4. При написании имени файла в параметрах команды Assign использовать ТОЛЬКО апостроф (') - который в русифицированной клавиатуре там же, где буква "э". Использование каких-либо других значков НЕ ДОПУСКАЕТСЯ.
Ну и вот исправленная программа:
Код:
Const
 Size=10;
Var
 A:Array[1..Size+1,0..Size] of Integer;
 i,j,n,m,k:Byte;
 Inp,Outp:Text;
Begin
 Assign(Inp,'Input.txt');
 Reset(Inp);
 Readln(Inp,n,m);
 for i:=1 to n do
  for j:=1 to m do
   A[i,j]:=-1;
 for i:=1 to n do A[i,0]:=0;
 for j:=0 to m do A[n+1,j]:=0;
 Repeat
  Readln(Inp,i,j);
  A[i,j]:=0;
 Until EoF(Inp);
 A[n,1]:=1;
 Close(Inp);

 For i:=1 to n+1 do
  begin
   For j:=0 to m do
    write(A[i,j]:4);
   Writeln;
  end;
 Writeln;

 For i:=n downto 1 do
  For j:=1 to m do
   If A[i,j]=-1 then
    A[i,j]:=A[i+1,j]+A[i,j-1]+A[i+1,j-1];

 For i:=1 to n+1 do
  begin
   For j:=0 to m do
    write(A[i,j]:4);
   Writeln;
  end;
 Writeln;
 Writeln('Press "Enter" to quit');
 Readln;

 Assign(Outp,'Output.txt');
 Rewrite(Outp);
 Writeln(Outp,A[1,m]);
 Close(Outp);
End.
Здесь для украшательства добавлен вывод на экран матрицы до и после преобразования. Если не нужно - можно эти фрагменты (они отделены пустыми строками) удалить.
Ну а что касается блок-схемы - тут, как уже говорил, не компетентен. Может быть Анджела (11Angelav) поможет? Она у нас виртуоз блок-схем.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070