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

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

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

> задача с двумерным массивом(решил, прошу проверить)
marwell
сообщение 1.01.2010 23:01
Сообщение #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 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 1.01.2010 23:20
Сообщение #2


Гость






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

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

Сообщений в этой теме


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

 



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