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

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

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

> Поцедура+Массив\продолжение темы, задача №2
BoB@N
сообщение 16.11.2005 21:46
Сообщение #1


Новичок
*

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

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


Условие задачи:
\Найти количество элементов в каждой строке, больших среднего арифметического элементов данной строки\
Примечание:
1)Массив задаётся по желанию.
2)Программа дожна быть составлена с использованием процедуры или функции.
mega_chok.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 9)
volvo
сообщение 16.11.2005 23:09
Сообщение #2


Гость






To: BoB@N
Здесь в чем проблема?
Пишешь функцию, которая возвращает среднее арифметическое заданной строки, и для каждой строки матрицы сначала вызываешь ее (и запоминаешь результат в какой-то переменной, например Average), а затем проходишь по строке и сравниваешь КАЖДЫЙ элемент с сохраненным значением (и если a[i, j] > Average то увеличить счетчик)... Это все, что нужно сделать.

Хотя бы попробуй, если все время ЗА тебя будут решать задачи, так в чем смысл?
 К началу страницы 
+ Ответить 
BoB@N
сообщение 27.11.2005 22:43
Сообщение #3


Новичок
*

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

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


Я реально не могу сделать это прогу...
Я уже думаю,что я брутально туп..(Может это и так)...
wacko.gif wacko.gif wacko.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Atos
сообщение 28.11.2005 6:05
Сообщение #4


Прогрессор
****

Группа: Модераторы
Сообщений: 602
Пол: Мужской
Реальное имя: Михаил

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


Цитата
Я реально не могу сделать это прогу...
А пробовал? хоть что-нибудь напиисать.
Начнём с самого начала:
Цитата
Пишешь функцию, которая возвращает среднее арифметическое заданной строки,
Здесь что непонятно? Передача массива в функцию или алгоритм фунции?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
BoB@N
сообщение 28.11.2005 22:00
Сообщение #5


Новичок
*

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

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


Алгоритм??? blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 28.11.2005 22:15
Сообщение #6


Гость






Цитата
Алгоритм???

Сложить все элементы строки и разделить сумму на их количество?
 К началу страницы 
+ Ответить 
BoB@N
сообщение 1.12.2005 19:26
Сообщение #7


Новичок
*

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

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


Я сам забахую всю прогу...
cool.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
BoB@N
сообщение 2.12.2005 14:36
Сообщение #8


Новичок
*

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

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


smile.gif
Вот 95%-й исходник этой проги...
Трабл в следующем:
Программа работает только с массивом 2X2..
mad.gif

Код


Program Boban;
Uses crt;
var
sred:real;
k,sum,m,n,i,j:integer;
a:array[1..10,1..10]of integer;
Procedure MatrixOut(x,y:integer);
begin
writeln;
for i:=1 to x do
begin
for j:=1 to y do
Write(a[i,j]:8);
Writeln;
end;
Writeln;
end;
begin
clrscr;
Write('Vvedite razmer massiva (MxN):');
readln(m,n);
Writeln('Vvedite elementi massiva:');
for i:=1 to m do
for j:=1 to n do
begin
Write('A[',i,' ',j,']:=');
readln(a[i,j]);
end;
MatrixOut(m,n);
Write('Vvedite dannuy stroky *k*:');
readln(j);
for i:=1 to m do
begin
Writeln(a[i,j]);
sum:=a[i,j]+a[i-1,j];
end;
Writeln('Summa:',sum);
sred:=sum/m;
Writeln('Srednee znachenie dannoi stroki:',sred:1:1);

for i:=1 to m do
begin
if (sred<a[i,j-1]) and (sred<>a[i,j-1]) then
k:=k+1;
if (sred<a[i,j+1]) and (sred<>a[i,j+1]) then
k:=k+1;
end;
Writeln('Kolichestvo chisel bolschih srednego:',k);
readln;
END.


Сообщение отредактировано: BoB@N - 2.12.2005 14:38
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 2.12.2005 15:46
Сообщение #9


Гость






To: BoB@N
Цитата(Условие)
\Найти количество элементов в каждой строке, больших среднего арифметического элементов данной строки\

Не значит, что строка будет задаваться пользователем (что, собственно, и делается у тебя в программе)... Так что, извини, но твоя программа НЕрабочая на 95%...
 К началу страницы 
+ Ответить 
BoB@N
сообщение 2.12.2005 21:40
Сообщение #10


Новичок
*

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

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


Что-то??? yes2.gif
В условии не стоит вопрос о задавании массива Randomize или пользователем... no1.gif

Сообщение отредактировано: BoB@N - 2.12.2005 21:43
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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