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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2020, 11:20   #1
rostik97
Пользователь
 
Регистрация: 25.04.2018
Сообщений: 10
По умолчанию Условие для определения наличия нулей

Само задание: Задать однотипные треугольные матрицы А и В размера 5*5 и программно показать, что А*В тоже треугольная матрица.

Можете помочь с условием с нулями(на проверку их наличия) корректно вписать в данный код ? Вообщем писал writeln(k, 'нулей') выводит статистическое количество(ведь здесь реализован рандом), после этого для нуля вводил переменную Zero (boolean) далее Zero := False; -> цикл -> условие -> begin -> Zero := True; -> условие -> вывод. По прежнему выводит стат число, но зато оно поменялось.

Решение:
program Cypress;
uses crt;
const n=5;
var a,b,c:array[1..n,1..n]of integer;
i,j,k: integer;
begin
clrscr;
randomize;

//2 верхнетреугольные матрицы

for i:=1 to n do
begin
for j:=1 to n do
begin
if j>=i then a[i,j]:=1+random(10)
else a[i,j]:=0;
end;
end;

for i:=1 to n do
begin
for j:=1 to n do
begin
if j>=i then b[i,j]:=1+random(10)
else b[i,j]:=0;
end;
end;

k:=0;
for i:=2 to n do
begin
for j:=1 to i-1 do
begin
if c[i,j]=0 then inc(k);

c[i,j]:=c[i,j]+a[i,k]*b[k,j];
if k=(n*n-n)div 2 then write('Матрица верхнетреугольная');

end;
writeln;
end;
readln
end.
rostik97 вне форума Ответить с цитированием
Старый 16.04.2020, 22:25   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
if c[i,j]=0 then inc(k);// здесь k это "счетчик" нулей

c[i,j]:=c[i,j]+a[i,k]*b[k,j]; // а здесь ?
какой индекс суммирования по которому очевидно нужен цикл
for k:=1 ....
и которого конечно же нет.

сделать здесь две разные переменные и добавить цикл
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 16.04.2020, 22:50   #3
rostik97
Пользователь
 
Регистрация: 25.04.2018
Сообщений: 10
По умолчанию

Ок, спасибо за подсказку.
rostik97 вне форума Ответить с цитированием
Старый 17.04.2020, 12:29   #4
rostik97
Пользователь
 
Регистрация: 25.04.2018
Сообщений: 10
По умолчанию

Изменил циклы и условие, криво но работает
rostik97 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Условие в PHP - Не работает условие: не выводит сообщение. Ave_Ave_Ave PHP 13 17.06.2016 12:20
Алгоритм определения наличия текста в файле. KorPaEv Общие вопросы C/C++ 7 12.09.2011 11:37
условие наличия ошибки. vedro-compota Общие вопросы Delphi 2 10.05.2010 12:39
Необходимо переделать процедуру ooo.sum_m в функцию определения наличия отрицательных элементов ul_m Помощь студентам 4 10.01.2009 20:32
Найти максимальный элемент матрицы и вставить правее него столбец из нулей и ниже него строку из нулей. Romer9999 Паскаль, Turbo Pascal, PascalABC.NET 3 28.11.2008 11:28