Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ошибка.Компоненты главной диагонали в одномерный массив

87K
12 февраля 2013 года
MAKS-I
3 / / 12.02.2013
Дано:Записать в одномерный массив компоненты результирующей матрицы. Помогите разобраться с ошибкой: Нельзя изменять значение переменной цикла внутри этого цикла
[ code ]program Zadanie3_Massiv;
uses crt;
const n=3;
type mtr=array[1..n,1..n] of real;

const A:mtr=((0.0,8.5,-1.3),(0.0,5.41,0.0),(9.0,-6.1,0.0));
var A1:mtr;
S1, S2: Real;
i, j: Integer;
begin
Writeln('Исходная матрица');
for i := 1 to n do
begin
for j := 1 to n do
Write(A[i, j]: 6: 2);
WriteLn
end;
S1 := 0;
S2 := 0;
for i := 1 to n do
for j := 1 to n do
if i<j then S1 := S1 + A[i, j]
else if i>j then S2 := S2 + A[i, j];
WriteLn('Сумма элементов, лежащих выше главной диагонали =', S1: 5: 1);
WriteLn('Сумма элементов, лежащих ниже главной диагонали =', S2: 5: 1);
WriteLn;
WriteLN('Результирующая матрица');
A1:=A;
IF S1=S2 THEN
for i := 1 to n do
begin
for j := 1 to n do
Write(A[i, j]: 6: 2);
WriteLN
end;
if S1>S2 THEN
for i := 1 to n do
begin
for j := 1 to n do
begin
if i>j then A1[i,j]:=abs(A[i,j]);
write(A1[i,j]: 6: 2);
end;
WriteLN;
end;
if S1<S2 THEN
for i := 1 to n do
begin
for j := 1 to n do
begin
if i<j then A1[i,j]:=Abs(A[i, j]);
write(A1[i,j]: 6: 2);
END;
begin
WriteLN('Массив:');
For i:=1 To n Do
Write (A1[i,i], ' ');
end;
end;
END.[ /code ]
20K
12 февраля 2013 года
ellor!
198 / / 24.05.2012
В конце программы дважды начинается цикл по i, причём один внутри другого.
87K
12 февраля 2013 года
MAKS-I
3 / / 12.02.2013
Цитата: ellor!
В конце программы дважды начинается цикл по i, причём один внутри другого.


Будь добр, напиши как исправить.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог