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

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

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

> Проблема в операторе подсчитывающем значение столбца в матрице
inviceble
сообщение 14.05.2007 14:07
Сообщение #1


Новичок
*

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

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


Здраствуйте ребят, очень надеюсь на вашу помощь.
Создайте массив, содержаший оценки десяти учеников за выполнение трёх контрольных работ (по 3 оценки для каждого). Выведите на экран средний балл ученика. Подсчитайте число учеников: б) выполнившых хотя бы одну работу на 5.
Проблема в создании счетчика на внешний оператор for , который подсчитывает кол-во учеников.
То есть если бы мне надо было подсчитать колво пятерок то я бы сделал так:

for i := 1 to 10 do
for j := 1 to 3 do
if a[i,j]=5 then k := k+1


Но как сделать чтобы подсчитывало колво строк содержащих хотя бы одну 5?
Заранее спасибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
inviceble
сообщение 14.05.2007 19:34
Сообщение #2


Новичок
*

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

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


Извиняюсь за свою не понятливость.
но

sr := sr + a[i,j];
if x[i,j] = 5 then flag := true;


первая строка дает значение переменной sr складывая значение sr со значением числа в матрице.
вторая строка оператор - если a[i,j] равен 5 то переменная flag - верна.
Это либо я чтото не допонимаю и не так делаю либо ты меня не допонял
Насколько я понимаю эти операторы только проверяют значение flag, и выводят результат складывания 0 с числом из матрицы.
Подскажите пожалуйста как мне сделать счетчик, который будет считать кол-во строк в котором есть хотя бы одна 5.
В чем моя проблема я не могу составить алгоритм, для дальнейшего написания, математически не понимаю, хотя одна мысль уже давно крутиться, но осуществить ее не получается - если в строке есть 5, то к переменной добавляется единица, примерно так:

for i := 1 to 4 do begin
for j := 1 to 3 do begin
if a[i,1]=5 or a[i,2]=5 or a[i,3]=5 then k:= k+1;


но с другой стороны эти три условия можно заменить одним a[i,j]=5, но тогда при любой встрече числа 5 к переменной k будет добавляться единица. Если же использовать исключающее или то тогда при встрече двух 5 в одной строке будет неправильный подсчет
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



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