![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
mfractus |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Здравствуйте уважаемые пользователи ресурса! Прошу помощи в решении задачи.
Ввести файл F из 12 элементов. Определить в нём произведение тех элементов, чей модуль лежит в диапазоне [ 1; 5]. Заранее спасибо! Начал с ввода файла F: program ABC; |
![]() ![]() |
DarkWishmaster |
![]()
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
вычисляем произведение:
|
mfractus |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Большое спасибо! В итоге будет так?
program ABC; Сообщение отредактировано: mfractus - 26.04.2011 20:48 |
Freedom |
![]()
Сообщение
#4
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 113 Пол: Мужской Реальное имя: Надир Репутация: ![]() ![]() ![]() |
Большое спасибо! В итоге будет так? program ABC; Есть ошибка, если вы хотите чтобы писало есть такие элементы или нет, то примерно: program ABC; -------------------- From ZERO to HERO
|
mfractus |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Что такое If flag then?
|
Freedom |
![]()
Сообщение
#6
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 113 Пол: Мужской Реальное имя: Надир Репутация: ![]() ![]() ![]() |
Что такое If flag then? flag - переменная boolean, которая принимает значения true или false если условие выполняется If flag then то же что и If flag=true then вывести произведение, иначе вывести что нету таких. -------------------- From ZERO to HERO
|
mfractus |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот так можно сделать?
program ABC; |
DarkWishmaster |
![]()
Сообщение
#8
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
так как у тебя интервал [1:5] а не (1:5) то некоректно использовать
if P=1 then //нету таких чисел потому что если у тебя будет например: 1 9 6 1 -1 -2 7 -1 то произведение будет: 1*1*(-1)*(-1)=1 т.е P=1 но ведь таких чисел 4! А переменая flag смотрит если было произвидено хотя бы одно умножение, если да то очевидно что такие элементы существуют и можно вывести произведение на экран. Сообщение отредактировано: DarkWishmaster - 26.04.2011 22:27 |
Freedom |
![]()
Сообщение
#9
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 113 Пол: Мужской Реальное имя: Надир Репутация: ![]() ![]() ![]() |
Вот так можно сделать? program ABC; У вас ведь промежуток [1;5] если сделать как вы то получается если произведение=1 тогда вывести что нет таких, а если например один из элементов=1 тогда, получается что P так и останется 1, и у вас выведет что нету таких элементов -------------------- From ZERO to HERO
|
mfractus |
![]()
Сообщение
#10
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Большое спасибо за пояснение! Можно ли исправить данную ситуацию без помощи flag? Через else может просто?
|
Freedom |
![]()
Сообщение
#11
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 113 Пол: Мужской Реальное имя: Надир Репутация: ![]() ![]() ![]() |
Большое спасибо за пояснение! Можно ли исправить данную ситуацию без помощи flag? Через else может просто? А почему вам не нравится flag? можно переделать. В смысле просто через else? -------------------- From ZERO to HERO
|
DarkWishmaster |
![]()
Сообщение
#12
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
Большое спасибо за пояснение! Можно ли исправить данную ситуацию без помощи flag? Через else может просто? Если у тебя проблема с boolean то можно через любую переменую каторая будет изменять свое значения в зависимости было или нет совершено умножение например: там где flag:=true меняем на a:=1 (a-переменая каторая сначала 0) потом смотришь если она 0 то таких чисел нет... |
mfractus |
![]()
Сообщение
#13
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
А почему вам не нравится flag? можно переделать. В смысле просто через else? Я вас понял, конечно же, будет лучше использовать flag. Почему предложенный Вами код программы намного короче? Я делал основываясь на примере.. к примеру присутствует часть кода reset(f);? |
DarkWishmaster |
![]()
Сообщение
#14
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
Я вас понял, конечно же, будет лучше использовать flag. Почему предложенный Вами код программы намного короче? Я делал основываясь на примере.. к примеру присутствует часть кода reset(f);? у него короче потому что он вычисление делает сразу когда пишет в фаиле. А ты сначала записываешь в фаиле, потом читаешь из него и делаешь вычисления. |
mfractus |
![]()
Сообщение
#15
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Если у тебя проблема с boolean то можно через любую переменую каторая будет изменять свое значения в зависимости было или нет совершено умножение например: там где flag:=true меняем на a:=1 (a-переменая каторая сначала 0) потом смотришь если она 0 то таких чисел нет... Спасибо за ответ! Сообщение отредактировано: mfractus - 26.04.2011 22:48 |
DarkWishmaster |
![]()
Сообщение
#16
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
Спасибо за ответ, это будет верно с точки зрения написания программы? До этого с такой проблемой не сталкивался.. Если с flag(boolean) то все будет верно. Так как у boolean всего два значения(True/False), а для переменой которая будет принимать только значения 0 и 1 будет нелогично исп. типы integer или logint и.д. так что придеться создать свой тип (0..1) бинарный. Всё же когда у нас только два выбора, нужно исп. логический тип boolean. |
mfractus |
![]()
Сообщение
#17
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задача Ввести файл F . Каждый второй элемент в файле, чьё значение лежит в
диапазоне [−3; 5] заменить единицей. Файл вывести до и после преобразования. Практически аналогична, но вот в ней не могу прописать условие. Начинаю с ввода F begin Добавлено через 2 мин. Если с flag(boolean) то все будет верно. Так как у boolean всего два значения(True/False), а для переменой которая будет принимать только значения 0 и 1 будет нелогично исп. типы integer или logint и.д. так что придеться создать свой тип (0..1) бинарный. Всё же когда у нас только два выбора, нужно исп. логический тип boolean. Большое спасибо за столь подробное объяснение! |
DarkWishmaster |
![]()
Сообщение
#18
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задача Ввести файл F . Каждый второй элемент в файле, чьё значение лежит в диапазоне [−3; 5] заменить единицей. Файл вывести до и после преобразования. Практически аналогична, но вот в ней не могу прописать условие. Начинаю с ввода F Можно: 1)Ввести в 1 файл, потом создать ещё один где ты уже будешь писать преобразовыне числа. 2) Когда записываешь в 1 файл можно запоминать числа в векторе, а потом уже rewrite и пишешь числа из вектора и изменяем их. 3)Если тупо надо вывести на экран файл то можно так:
но при пункте 3, содержимое файла будет тем же как и до изменения. Если преоброзовать файл то надо где-то помнить изначальное его содержимое. Сообщение отредактировано: DarkWishmaster - 26.04.2011 23:07 |
mfractus |
![]()
Сообщение
#19
|
Новичок ![]() Группа: Пользователи Сообщений: 26 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот пример:
// увеличение на 5 в файле элементов больших четырех, |
DarkWishmaster |
![]()
Сообщение
#20
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
меняешь условие на
if (b>=-3) and (b<=5) and ((Filepos(f)-1) mod 2<>0) then хм, а я думал что при reset можно только читать из файла Сообщение отредактировано: DarkWishmaster - 26.04.2011 23:16 |
![]() ![]() |
![]() |
Текстовая версия | 21.06.2025 7:16 |