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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2012, 16:37   #1
Иван228
Пользователь
 
Регистрация: 24.01.2012
Сообщений: 10
По умолчанию матрицы

КАК найти произведение главной диагонали матрицы?
Иван228 вне форума Ответить с цитированием
Старый 24.01.2012, 16:45   #2
VektorAB
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 29
По умолчанию

a - квадратный массив
i - вспомогательня переменная
n - размерность массива
proizv - переменная для вычисления произведения


Код:
proizv := 1;
for i:=1 to n do
   proizv := proizv * a[i,i];
"Сегодня, в завтрашний день не все могут смотреть, вернее не только лишь все, мало кто может это сделать"
VektorAB вне форума Ответить с цитированием
Старый 24.01.2012, 17:22   #3
Иван228
Пользователь
 
Регистрация: 24.01.2012
Сообщений: 10
По умолчанию

что то не получается...он так находит произведение всей матрицы!!!
Иван228 вне форума Ответить с цитированием
Старый 24.01.2012, 17:27   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
что то не получается...он так находит произведение всей матрицы!!!
не не
Так
Цитата:
Код:
proizv := 1;
for i:=1 to n do
   proizv := proizv * a[i,i];
найдётся произведение именно главной диагонали
Если у вас считает произведение всех элементов, значит вы что-то не так реализовали!
Покажите свой код!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 24.01.2012, 17:38   #5
Иван228
Пользователь
 
Регистрация: 24.01.2012
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
не не
Так

найдётся произведение именно главной диагонали
Если у вас считает произведение всех элементов, значит вы что-то не так реализовали!
Покажите свой код!
program pr;
uses crt;
var B: array[1..8,1..8] of integer;
i,j,S,P:integer;
begin clrscr;
for i:=1 to 8 do
for j:=1 to 8 do B[i,j]:=random(35)-5;
for i:=1 to 8 do begin
for j:=1 to 8 do write (B[i,j]:5);
writeln;
end;
S:=0;for i:=1 to 8 do
for j:=1 to 8 do S:=S+B[i,j];
writeln('Summa=',S);
begin
P:=1; for i:=1 to 8 do
for j:=1 to 8 do P:=P*B[i,j];
writeln('Proizvedenie=',P);
readln;
end;
end.

вобщем получается 0, хотя такого не может быть...(т.к. в главной диагонали 0 нет!!!)
Иван228 вне форума Ответить с цитированием
Старый 24.01.2012, 17:45   #6
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

так вот вам переправленный код
Код:
program pr;
uses crt;
var 
    B: array[1..8,1..8] of integer; 
    i,j,S,P:integer;
begin 
    clrscr;
    randomize;
    S := 0;
    P := 1;
    for i:=1 to 8 do 
        for j:=1 to 8 do
        begin 
            B[i,j]:=random(35)-5;
            Inc(S, B[i,j]);
            if j = i then P := P * B[i, j];
        end;
    for i:=1 to 8 do 
    begin 
        for j:=1 to 8 do write (B[i,j]:5);
        writeln;
    end; 
    writeln('Summa=',S);
    writeln('Proizvedenie=',P);
    ReadKey; 
end.
В вашем коде путаница с бегинами и ендами!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 24.01.2012, 17:55   #7
Иван228
Пользователь
 
Регистрация: 24.01.2012
Сообщений: 10
По умолчанию

спасиб!!!а как S получилось если его не находили??
Иван228 вне форума Ответить с цитированием
Старый 24.01.2012, 17:56   #8
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
а как S получилось если его не находили??
Код:
Inc(S, B[i,j]);
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 24.01.2012, 18:23   #9
Иван228
Пользователь
 
Регистрация: 24.01.2012
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
Код:
Inc(S, B[i,j]);
а блок-схема такая будет??
Вложения
Тип файла: doc 111.doc (34.5 Кб, 14 просмотров)
Иван228 вне форума Ответить с цитированием
Старый 24.01.2012, 18:31   #10
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
а блок-схема такая будет??
хз!
У каждого препода свои требования! Я по другому делал!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++.три матрицы, упорядочить строки той матрицы у которой больше нулевых строк Ирина1992 Помощь студентам 12 20.11.2011 13:01
Для матрицы 8x8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом. (Задание на Си) Ислам Помощь студентам 8 20.05.2011 20:56
Процедуры - вычислить количество элементов матрицы,кратных 5 и заменить на 0 все четные элементы матрицы Ksenichka Помощь студентам 1 19.05.2011 14:38
Ф-ия, определяющая сумму строк матрицы, если на главной диагонали матрицы имеется отрицательный эл-т. Volk_xD Помощь студентам 6 05.01.2011 13:39
На главную диагональ матрицы поместить наибольшие элементы этой матрицы mivel Помощь студентам 2 23.12.2009 21:19