Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Решение прямоугольной матрицы 
:(
    Опции темы
Hangel007
Дата 9.6.2006, 06:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 9.6.2006

Репутация: нет
Всего: нет



Здравствуйте!

Мне надо решить задачу. Я её решил наполовину, а дальше не знаю. Помогите!

В общем, дана прямоугольная матрица размерностью m*n, заполненной слоучайным образом числами из промежутка [-40,30]. Это я сделал, а вот дальше: Найти сумму и количество элемнетов каждого столбца с заданным условием
 (хранить эти значения в массивах): данные элементы положительные и лежат выше главной диаганали.

Код:

Код
Program list;
uses crt;
const m=3; n=4;
Var
   Matrix : array[1..n,1..m] of integer;
   i,j:integer;
Begin
clrscr;
Randomize;
for i:=1 to n do
begin
 for j:=1 to m do
 begin
   Matrix[i,j]:=-40+random(70);
 end;
end;
for i:=1 to n do
begin
 for j:=1 to m do
 begin
   Write(matrix[i,j],' ');
 end;
writeln;
end;
Readln;
End.
 

Это сообщение отредактировал(а) volvo877 - 9.6.2006, 10:56
PM MAIL   Вверх
e-moe
Дата 9.6.2006, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 3.8.2004
Где: Украина, Донецк

Репутация: нет
Всего: 4



Hangel007, от куда списал(а)? smile
Ты хоть сам(а) думать пробовал(а)? 
PM MAIL WWW ICQ   Вверх
Zero
Дата 10.6.2006, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Код

Program list;
uses crt;
const n=10; m=10;
Var
   Matrix : array[1..n,1..m] of integer;
   i,j:integer;
   sum,k:integer;
Begin
  clrscr;
  Randomize;
  for i:=1 to n do
    for j:=1 to m do
      Matrix[i,j]:=-40+random(70);
  for i:=1 to n do
    begin
      for j:=1 to m do
        Write(matrix[i,j]:3,' ');
      writeln;
    end;

for i:=1 to m do
    begin
      sum:=0;
      k:=0;
      for j:=1 to i-1 do
        begin
          if matrix[j,i]>0 then
          begin
            sum:= sum+matrix[j,i];
            inc(k);
          end;
        end;
      write('столбец: ',i:2);
      write('  количество элементов: ',k);
      writeln('  сумма: ',sum);
    end;
End.
 
PM MAIL ICQ   Вверх
svarogik
Дата 10.6.2006, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



у тя неправильно, надо ВЫШЕ диагонали элементы а ты сделал ниже, надо во вложенном цикле брать "for i :=j to" 
PM MAIL   Вверх
Zero
Дата 10.6.2006, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(svarogik @  10.6.2006,  21:32 Найти цитируемый пост)
у тя неправильно, надо ВЫШЕ диагонали элементы а ты сделал ниже, надо во вложенном цикле брать "for i :=j to"

Всмысле, что значит у меня ниже???
У меня главная диагональ это: верхний левый и правый нижний угол, а всё что выше и считается... 
PM MAIL ICQ   Вверх
svarogik
Дата 10.6.2006, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



я так понял что надо брать все что выше главной диагонали. Мы видимо просто путаем где у кого i а где j  у меня в воображении например при движении по горизонтали меняется j  а по вертикали i 
PM MAIL   Вверх
~FoX~
Дата 27.6.2006, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 1
Всего: 68



Цитата(Hangel007 @  9.6.2006,  07:46 Найти цитируемый пост)
В общем, дана прямоугольная матрица размерностью m*n

Цитата(Hangel007 @  9.6.2006,  07:46 Найти цитируемый пост)
и лежат выше главной диаганали.

Может я чего не понимаю, но откуда в прямоугольной (m<>n) матрице главная диаганаль?
Даже если предположить, что диаганаль проходит по m=n то она ну ни как главной быть не может.
Вопрос:
1. Если количество строк меньше количества столбцов => Оставшиеся столбцы считаются выше диаганали?
2. Что будет в противном случае? 


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0455 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.