IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Простенькая задача (матрица), Помогите пожалуйста,горю!!!!!
Gleb
сообщение 7.01.2006 17:01
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Дана действительная квадратная матрица порядка 9. Получить логическую квадратную матрицу того же порядка, в которой элемент имеет значение "истина", если соответствующий ему элемент исходной матрицы имеет значение больше элемента, расположенного в его строке на главной диагонали, и имеет значение "ложь" в противном случае!




И вторая кому не сложно.....пожалуйста!

Найти максимальный среди всех элементов тех строк заданной матрицы, которые упорядочены (либо по возрастанию,либо по убыванию)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 7.01.2006 17:06
Сообщение #2


Гость






Первая:
...
for i := 1 to n do
for j := 1 to n do
b[i, j] := (a[i, j] > a[i, i]);
...

где a - исходная матрица, b - результат...
 К началу страницы 
+ Ответить 
Gleb
сообщение 7.01.2006 17:24
Сообщение #3





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Огромное спасибо!!! !!!!!!Просто Громадное!

Если кому не лень помочь со второй ...будет совсем превосходно !! Я буду спасен!

Сообщение отредактировано: Gleb - 7.01.2006 17:25
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
click
сообщение 7.01.2006 17:26
Сообщение #4





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


блин, задание не понятное... может переведёшь, что сделать то нужно
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Gleb
сообщение 7.01.2006 17:34
Сообщение #5





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Большое спасибо что помогаешь..!

Нужно найти строки в матрице упорядоченные либо по убыванию либо по возрастанию(одно из двух)
а затем найти в этих строках максимальный элемент
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Shura
сообщение 7.01.2006 17:54
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 136
Пол: Мужской
Реальное имя: Александр

Репутация: -  -2  +


Основная заморочка возникает, когда нужно определить, упорядочена ли строка, и при сравнении первого элемента со вторым, оказывается что они равны! smile.gif Тогда приходится идти по строке дальше, и еще хлеще, если ВСЕ элементы равны. Тогда это уже отдельная ветка условия. Вобщем, я сделал так, что если все элементы строки равны, то они считаются упорядоченными (например, по неубыванию). Это можно изменить, я оставил комментарий. Весьма громоздко, зато надежно.

Код

Program Zadacha_2;

Uses
Crt;

Const
n = 3;

Var
a: Array [1..n,1..n] of Byte;
i,j: Byte;
b,f: Boolean;

{****************************************************************************}

Begin
Randomize;
ClrScr;
for i:=1 to n
do begin
     for j:=1 to n
     do begin
     a[i,j]:=Random(5);
     Write(a[i,j]:3)
    end;
     WriteLn
    end;
WriteLn;

for i:=1 to n
do begin
     Write('Stroka #', i, ': ');
      j:=1;
      repeat
       if a[i,1] > a[i,2]
       then f:=false
       else f:=true;
       Inc(j)
      until (a[i,1] <> a[i,2])or(j = n);
     if j = n
     then Write(a[i,n])  {<---------- если все елем. равны, и считается, что они НЕ упорядоч., }
                    {вместо a[i,n] вставить 'не упорядочена'                  }
     else begin
       b:=true;
       while (j <= n-1)and(b)
       do begin
           if (f = (a[i,j] > a[i,j+1]))and(f <> (a[i,j] < a[i,j+1]))
           then b:=false;
           Inc(j)
          end;
       if b
       then if f
        then Write(a[i,n])
        else Write(a[i,1])
       else Write('ne uporyadochena')
      end;
     WriteLn('.')
    end;
ReadLn
End.


Сообщение отредактировано: Shura - 7.01.2006 18:00


--------------------
Старайтесь восполнять пробелы в области незнания! ;-D
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Gleb
сообщение 7.01.2006 18:24
Сообщение #7





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Ну я даже не знаю как Вас отблагодарить! Вы мой спаситель! Спасибо Вам большое !

Здаровья и удачи Вам в наступившем году!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.06.2025 21:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"