![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
inomarka |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Женский Репутация: ![]() ![]() ![]() |
Дан массив 25 случайных чисел от -40 до 40. Вывести а) количество нечетных б) количество положительных
Если честно, на то, чтобы напечатать массив, найти сумму, ср.арифметическое и т.п. , у мя мозгов еще кое-как хватает. А вот с количеством... Мы задач не решали похожих, и примера нет( Можете помочь найти кол-во? . Еще проблема: мне должно выводиться 25 шт. чисел, а выводится намного больше. почему? я вроде все правильно сделала. |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Во-первых, не обязательно делать 2 строки там, где можно обойтись одной:
A[i]:=random(81) - 40;а во-вторых, какая же четность/нечетность? У тебя числа вещественные... Надо делать массив целых и для каждого проверять if A[i] mod 2 = 0 then { значит, четное - увеличить счетчик } Добавлено через 1 мин. Цитата мне должно выводиться 25 шт. чисел, а выводится намного больше. почему? Потому, что ты выводишь и при генерации чисел, и после нее, получается - массив выводится 2 раза... |
TarasBer |
![]()
Сообщение
#3
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
if A[i] mod 2 = 0 then { значит, четное - увеличить счетчик } Почему не if not Odd(A) = 0 then? -------------------- |
Altair |
![]()
Сообщение
#4
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Потому что odd есть в Паскале, а вот насчет остальных языков я под сомнением...
А mod есть почти везде... В любом случае, даже если mod имеет другой написание, то саму конструкцию if A[i] mod 2 = 0 then прочитать при ознакомлении с кодом проще и быстрее... -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
мисс_граффити |
![]()
Сообщение
#5
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Цитата Почему не if not Odd(A) = 0then ? хотя бы потому, что компилятор (TP) такое не пропускает: type mistmatch function Odd(X: Longint): Boolean ![]() Сообщение отредактировано: мисс_граффити - 11.02.2007 19:48 -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
inomarka |
![]()
Сообщение
#6
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Женский Репутация: ![]() ![]() ![]() |
Только я все равно не знаю, как вычислить это самое количество. Вы не могли бы сказать, что будет вместо […] ?
И еще: где можно найти в Интернете учебник по паскалю (нужно как можно больше программ, а теории поменьше). Заранее благодарю)))
|
мисс_граффити |
![]()
Сообщение
#7
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
inc(x) или x:=x+1 ![]() как больше нравится во втором случае ты забыла обнулить х и напутала с тем, что внутри цикла, а что снаружи... в обоих случаях Сообщение отредактировано: мисс_граффити - 11.02.2007 20:04 -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
inomarka |
![]()
Сообщение
#8
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Женский Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Цитата(TarasBer @ 11.02.2007 18:21) Почему не
Потому, что 1) вызов функции, причем 2) сразу непонятно ее назначение... Видишь, и в приведенной мной цитате присутствует ошибка, а при использовании MOD ошибку допустить сложнее...if not Odd(A) = 0 then? Цитата(inomarka @ 12.02.2007 16:46) А поподробней? Плизз.. Я туплю.. Что я спутала? Смотри на комментарии:program mas100; |
TarasBer |
![]()
Сообщение
#10
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата -Почему не if not (odd(A) = 0) -Потому, что 1) вызов функции Я думал, что это макрос... Даже если это и функция, то всё равно if ((A and 1) = 0) в моём паскале (TP7.1) почему-то вычисляется дольше, чем if (odd(a) = 0). И в любом случае строчка (mod 2) невыносимо режет глаз... И с отрицательными числами неправильно работает... -------------------- |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Цитата if (odd(a) = 0) вообще НЕ работает... По крайней мере не должен... Odd - это Boolean, а не Integer...Цитата И в любом случае строчка (mod 2) невыносимо режет глаз... Не забыл добавить слово МНЕ? Ибо для меня, например, это совершенно нормальная форма записи... |
Zzzz... |
![]()
Сообщение
#12
|
![]() /// ![]() ![]() Группа: Пользователи Сообщений: 78 Пол: Мужской Реальное имя: Илья Репутация: ![]() ![]() ![]() |
У меня вот так получилось
|
inomarka |
![]()
Сообщение
#13
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Женский Репутация: ![]() ![]() ![]() |
Спасибо всем огромное,
![]() А насчет mod... Вот я учусь информатике 1ый год и не знаю пока ничего лучше и удобнее)) потому как не проходила)) И для меня в новинку было узнать, что mod не работает с отрицательнми. Конечно, потом вдумалась, и дошло.. А вообще, как я поняла, чем больше знаешь какую-то тему(относится ко всем "отраслям")), тем сложнее хочешь решить простые задачи ![]() |
мисс_граффити |
![]()
Сообщение
#14
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
-------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
![]()
Сообщение
#15
|
Гость ![]() |
Юля,
var i: integer;что выдаст? А если будешь сравнивать с 1-цей, а не с нулем? |
мисс_граффити |
![]()
Сообщение
#16
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
-1.
а что должен? 1? ведь остаток - это разница с ближайшим делящимся без остатка меньшим числом, если я не ошибаюсь... (13 mod 6 = 13-12=1; -15 mod 2 = -16-(-15)=-1) Цитата А если будешь сравнивать с 1-цей, а не с нулем? А зачем? Я говорю про то, что в приведенном в сообщении #2 виде оно работает и с отрицательными. Если бы было "посчитать количество чисел, которые при делении на 7 дают остаток 4" - другое дело. Тогда - по модулю... Хотя не уверена, правильно ли это с т.з. математики. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
TarasBer |
![]()
Сообщение
#17
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
-1. а что должен? 1? ведь остаток - это разница с ближайшим делящимся без остатка меньшим числом, если я не ошибаюсь... Остаток от деления на эн всегда нестрого больше нуля и строго меньше эн. Цитата (13 mod 6 = 13-12=1; -15 mod 2 = -16-(-15)=-1) Почему вы переставили уменьшаемое и вычитаемое? -------------------- |
мисс_граффити |
![]()
Сообщение
#18
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
Цитата Почему вы переставили уменьшаемое и вычитаемое? не знаю. действительно, разница с меньшим всегда положительная... надо все-таки найти точное определение остатка для отрицательных чисел. Сообщение отредактировано: мисс_граффити - 13.02.2007 0:13 -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
TarasBer |
![]()
Сообщение
#19
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
не знаю. действительно, разница с меньшим всегда положительная... надо все-таки найти точное определение остатка для отрицательных чисел. Дык это ж и было точное определение - само число минус ближайшее снизу кратное. -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 17:39 |