Turbo Pascal

Cris

Member
Cris ты знаеш шо я начинающий поподробней можно?
ну и метки(не рекомендуеться) + я не оч помню как они правильно описиваються
Код:
program gg;
begin
label xz{ili label:xz}
{tekst programmy}
goto xz; { или здесь можно добавить условие выхода - типа нажмите Q)}
end;
 

Пионерка

MuzZ♥z♥Zz♥
помогите пожалуйста..)

ЦЕЛЬ РАБОТЫ. Задав двумерный массив вещественных данных (матрицу А), реализовать его обработку, как указано в варианте. Исходные данные задать самостоятельно, учитывая специфику задачи.
--> Найти произведение всех ее положительных элементов и заменить им все диагональные элементы этой матрицы.
 

Пух

كنت بلهاء
Модератор
помогите пожалуйста..)

ЦЕЛЬ РАБОТЫ. Задав двумерный массив вещественных данных (матрицу А), реализовать его обработку, как указано в варианте. Исходные данные задать самостоятельно, учитывая специфику задачи.
--> Найти произведение всех ее положительных элементов и заменить им все диагональные элементы этой матрицы.
ну найти произведение всех положительных элементов не проблема, а все диагональные элементы это как? Например матрица 5х5

1 2 3 4 5
0 4 9 7 8
5 2 6 1 3
9 8 7 5 2
0 3 4 6 8
какие элементы нужно заменять?
2 главные диагонали? (1,4,6,5,8 и 5,7,6,8,0) или одну из диагоналей? Вообщем, обьясните какие элементы заменять и тогда напишем программку)
 

xZ_

Хьёзь
ну найти произведение всех положительных элементов не проблема, а все диагональные элементы это как? Например матрица 5х5


какие элементы нужно заменять?
2 главные диагонали? (1,4,6,5,8 и 5,7,6,8,0) или одну из диагоналей? Вообщем, обьясните какие элементы заменять и тогда напишем программку)
2 главные диагонали) стандартная задача)
 

Пионерка

MuzZ♥z♥Zz♥
какие элементы нужно заменять?
2 главные диагонали? (1,4,6,5,8 и 5,7,6,8,0) или одну из диагоналей? Вообщем, обьясните какие элементы заменять и тогда напишем программку)
я так понимаю,что нужно заменить 2 диагонали,и 1,4,6,5,8 и 5,7,6,8,0
:|
 

Пух

كنت بلهاء
Модератор
Код:
uses crt;
const m=5;  {описуем константу, размер будущей матрицы}
var a:array[1..m,1..m] of integer;  {описуем матрицу 5х5}
i,j:byte; {переменные для прохода матрицы}
g,x,y:integer; {переменные для вывода матрицы и вспомогательная}
begin
{рандомом заполняем матрицу}
clrscr; randomize;
for i:=1 to 5 do
for j:=1 to 5 do
begin
g:=random(20);
a[i,j]:=5-g;
y:=1;
end;
{закончили заполнение. Начинаем вывод матрицы на экран}
for i:=1 to m do
begin
for j:=1 to m do
begin
case j of
1:x:=2;
2:x:=9;
3:x:=16;
4:x:=23;
5:x:=30;
end;
gotoxy(x,y);
write(a[i,j]);
end;
inc(y,2);
end;
writeln(' ');
{закончили вывод}

{Ищем произведение положительных чисел}
g:=1;
for i:=1 to m do
for j:=1 to m do
begin
if a[i,j]>0 then
g:=g*a[i,j]
end;

{заменяем диагонали на произведение}
for i:=1 to m do
begin
for j:=m downto 1 do
begin
a[i,i]:=g; {диагональ с слевого верхнего до правого нижнего угла}
a[i,m+1-i]:=g; {с левого нижнего по правый верхний угол }
end;
end;

{выводим новую матрицу на экран}
y:=10;
for i:=1 to m do
begin
for j:=1 to m do
begin
case j of
1:x:=40;
2:x:=47;
3:x:=54;
4:x:=61;
5:x:=68;
end;
gotoxy(x,y);
write(a[i,j]);
end;
inc(y,2);
end;
writeln(' ');
readln;
end.
вроде так.
 
Зверху