Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Паскаль, подпрограммы (http://www.tehnari.ru/f41/t82118/)

hamchuk250894 13.12.2012 12:25

Паскаль, подпрограммы
 
В коде есть ошибка, помогите пожалуйста найти её и исправить. Задание такое: 1.Создать функцию, определяющую в квадратном целочисленном массиве matrixnn сумму элементов, находящихся выше и ниже главной и побочной диагоналей (“песочные часы”). Элементы диагоналей в сумму не включать.
3. Код программы:

Program Variant_8;
uses crt;
type mas=array[1..20, 1..20] of integer;

var n, i, j : integer;
a:mas;

function sum(a:mas): integer;
var s: integer;
begin
s := 0;
for i := 1 to n do
for j := 1 to n do
if (i <> j) and (j <> n - i + 1) then
s := s + a[i, j];
sum := s;
end;

begin
write('n=');
readln(n);
writeln(‘Enter ',n*n,' of elements of a matrix:');
for i := 1 to n do
for j := 1 to n do
begin
write('a[',i,',',j,']=');
read(a[i,j]);
end;
writeLn('Initial matrix’);
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:4);
writeLn;
end;

writeln(' The sum ', sum(a));
end.

Vladimir_S 13.12.2012 13:08

Цитата:

Сообщение от hamchuk250894 (Сообщение 832870)
В коде есть ошибка, помогите пожалуйста найти её и исправить.

Отладил:
Код:

type
 mas=array[1..20, 1..20] of integer;

var
 n,i,j:integer;
 a:mas;

function sum(a:mas):integer;
var s,i,j,i1: integer;
begin
 s:=0;
 for i:=1 to (n div 2) do
  for j:=i+1 to n-i do
  s:=s+a[i,j];
 if (n mod 2)=1 then
  i1:=(n div 2)+2
 else
  i1:=(n div 2)+1;
 for i:=i1 to n do
  for j:=n-i+2 to i-1 do
  s:=s+a[i,j];
 sum:=s;
end;

Begin
 write('n=');
 readln(n);
 for i:=1 to n do
  for j:=1 to n do
  begin
    write('a[',i,',',j,']=');
    readln(a[i,j]);
  end;
 writeln;
 writeln('Initial matrix:');
 for i:=1 to n do
  begin
  for j:=1 to n do
    write(a[i,j]:4);
  writeln;
  end;
 writeln;
 writeln(' The sum= ', sum(a));
 readln;
End.


hamchuk250894 13.12.2012 14:00

Спасибо большое Владимир)


Часовой пояс GMT +4, время: 18:52.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.