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

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

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

 
 Ответить  Открыть новую тему 
> задача с двумерным массивом(решил, прошу проверить)
сообщение
Сообщение #1


Бывалый
***

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

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


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

var A:array [1..9,1..9] of real;
n,i,j:integer;
s,max:real;
begin
repeat
write ('vvedite sposob vvoda(1-ruchnoe, 2-avtomat)');
readln (n);
until (n=1) or (n=2);
if n=1 then
begin
for i:=1 to 9 do
for j:=1 to 9 do
begin
write ('a[',i,',',j,']=');
readln (A[i,j]);
end;
end;
randomize;
if n=2 then
begin
for i:=1 to 9 do
for j:=1 to 9 do
begin
a[i,j]:=random;
end;
end;
for i:=1 to 9 do
for j:=1 to 9 do
write (a[i,j]:3);
writeln;
max:=a[2,1];
for i:=1 to 9 do
for j:=1 to 9 do
if i>j then begin
if a[i,j]>max then
max:=a[i,j]
end;
writeln (max:9:5);
s:=0;
for i:=1 to 9 do
for j:=1 to 9 do
if i<=j then begin
if a[i,j]>max then s:=s+a[i,j]
else writeln ('на главной диагонали и выше ее нет элементов с указанным свойством');
end;
writeln (s:9:5);
readln;
end.


написал, все верно вычисляет, но только почему-то сообщение 'на главной диагонали и выше ее нет элементов с указанным свойством' печатает несколько раз dry.gif хотелось бы исправить
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
почему-то сообщение 'на главной диагонали и выше ее нет элементов с указанным свойством' печатает несколько раз
Потому что надо ввести флажок, значение которого изначально будет истинным, на как только произошло первое суммирование (а, следовательно, был найден первый же элемент, удовлетворяющий заданным свойствам), флажок перебрасывается в False... И потом, ПОСЛЕ цикла проходящего по всем элементам, проверять, чему равен флажок, и выдавать сообщение в случае, если True...

А то что сделал ты - это выдача сообщения "текущий элемент не удовлетворяет указанным свойствам". Нельзя сразу, не проверив ВСЕ элементы, сказать, есть ли среди них что-то нужное, или нет
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Бывалый
***

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

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


Цитата(volvo @ 1.01.2010 23:20) *

Потому что надо ввести флажок, значение которого изначально будет истинным, на как только произошло первое суммирование (а, следовательно, был найден первый же элемент, удовлетворяющий заданным свойствам), флажок перебрасывается в False... И потом, ПОСЛЕ цикла проходящего по всем элементам, проверять, чему равен флажок, и выдавать сообщение в случае, если True...

А то что сделал ты - это выдача сообщения "текущий элемент не удовлетворяет указанным свойствам". Нельзя сразу, не проверив ВСЕ элементы, сказать, есть ли среди них что-то нужное, или нет

ааа, вот оно что smile.gif спасибо smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Бывалый
***

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

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


пожалуйста, помогите! или я туплю, или училка с катушек съехала mad.gif она задала вопрос:"в каком диапазоне расположены элементы этой матрицы?" я ответил, что так как матрица описана типом real, то диапазон 2,3*10^(-39)..1,7*10^38. Она говорит, что это неверно. Это действительно так, или она - дура?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата
я ответил, что так как матрица описана типом real, то диапазон 2,3*10^(-39)..1,7*10^38.
Ты бы документацию прочел - тогда узнал бы, что Random без параметров вернет значение в интервале 0 <= x < 1

А вот какие значения ты вводишь вручную - это надо смотреть, и тогда уж отвечать на вопрос.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Бывалый
***

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

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


Цитата(volvo @ 22.01.2010 19:12) *

Ты бы документацию прочел - тогда узнал бы, что Random без параметров вернет значение в интервале 0 <= x < 1

А вот какие значения ты вводишь вручную - это надо смотреть, и тогда уж отвечать на вопрос.

бааалин(( я совсем забыл про Random blink.gif спасибо good.gif придется извиняться mega_chok.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 23.10.2020 6:56
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name