Форум программистов, компьютерный форум CyberForum.ru

какой то бред! - C++

Восстановить пароль Регистрация
 
 
Zhor
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 29
06.11.2012, 23:33     какой то бред! #1
не могу понять что за цирк..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <math.h>
#include <iostream.h>
#include <iomanip.h>
main()
{
      double a,d,n;
      a=0; d=1;
     while (a<19)
      {  
         a+=2;
           
         }
        d*=a;
         cout<<d<<endl; 
    system("PAUSE");
    return 0;
}
и выкидывает вот такое...
http://www.cyberforum.ru/attachment....1&d=1352230200

(это не изночальный вид программы, я её перестроил чтобы найти ошибку и оказалось что ошибка в том ,что дополнительно включается чисто 20..мне нужно чтобы его не было..но оно и по смыслу вроде как не должно быть!!!)
Миниатюры
какой то бред!  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2012, 23:33     какой то бред!
Посмотрите здесь:

C++ не использовать do/while ? бред !
проверка на IF что за бред C++
C++ бред в результате
Бред со счетом C++
Почему выводит бред C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
06.11.2012, 23:40     какой то бред! #2
Все правильно работает, сформулируйте лучший вопрос!
DanilAREFY
19 / 19 / 2
Регистрация: 12.04.2011
Сообщений: 35
06.11.2012, 23:41     какой то бред! #3
В чем собственно вопрос? Судя по коду все правильно выводит, но необходимо еще указать в главной функции тип возвращаемого элемента:
C++
1
int main()
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
06.11.2012, 23:41     какой то бред! #4
Так в чем вопрос то?
Zhor
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 29
06.11.2012, 23:45  [ТС]     какой то бред! #5
вопрос в том что я вроде как указал что а<19..а оно учитывает число больше 19.. т.е. a<19<20
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
06.11.2012, 23:47     какой то бред! #6
оно учитывает a=18=20 и затем из цикла выходит
Zhor
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 29
06.11.2012, 23:50  [ТС]     какой то бред! #7
и что мне сделать чтобы не приравнивать к 20???
DanilAREFY
19 / 19 / 2
Регистрация: 12.04.2011
Сообщений: 35
06.11.2012, 23:51     какой то бред! #8
Подправь на 18.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
06.11.2012, 23:51     какой то бред! #9
можно в конце цикла условие поставить:
C++
1
2
if(a>19)
a=19
Zhor
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 29
06.11.2012, 23:51  [ТС]     какой то бред! #10
Цитата Сообщение от Zhor Посмотреть сообщение
a+=2;
из-за этой стоки получается а=18=20???
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
06.11.2012, 23:54     какой то бред! #11
добавляй не 2 а 1

Добавлено через 2 минуты
C++
1
 a+=1;
Zhor
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 29
06.11.2012, 23:58  [ТС]     какой то бред! #12
подправить то можно..только меня препод потом засечёт..он дал задание до 20!!! а если схитрить.. т е сделать скриншот проги без 20-ти ,а саму прогу показать с 20-кой то он точно просечёт(он то это знает!)..из поминай как звали(((

Добавлено через 51 секунду
мне нужны именно чётные числа...
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
06.11.2012, 23:59     какой то бред! #13
Напиши конкретно задачу которую он тебе дал!
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
07.11.2012, 00:00     какой то бред! #14
Цитата Сообщение от Zhor Посмотреть сообщение
while (a<19)
Замени на while (a<21)
Будут чётрые от 0 до 20 включительно

Не по теме:

Что вы тут 2 страницы это перетираете?

Zhor
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 29
07.11.2012, 00:07  [ТС]     какой то бред! #15
произведение чётных чисел от 0 до 20

Добавлено через 2 минуты
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Замени на while (a<21)
Будут чётрые от 0 до 20 включительно

Не по теме:

Что вы тут 2 страницы это перетираете?

тогда получается что учитываются числа 20 и ещё 22!
vasiliy21
26 / 26 / 2
Регистрация: 24.10.2012
Сообщений: 135
07.11.2012, 00:08     какой то бред! #16
а зачем там
Цитата Сообщение от Zhor Посмотреть сообщение
d*=a;
Добавлено через 34 секунды
C++
1
2
3
4
5
while (a<20)
      {  
         a+=2;
           
         }
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
07.11.2012, 00:11     какой то бред! #17
Все на много проще, чем Вы думаете:
C++
1
2
3
4
5
6
a=2;
d=1;
while ( a <= 20 ) {
   d*=a;
   a+=2;
}
Это и есть произведение четных чисел от 0 до 20.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
07.11.2012, 00:14     какой то бред! #18
Так произведение или сумму найти?
C++
1
2
3
4
5
6
7
8
      double a,d,n;
      a=2; d=1;
     while (a<20)
      {  
         d*=a;
           a+=2;
         }
         cout<<d<<endl;
Zhor
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 29
07.11.2012, 00:18  [ТС]     какой то бред! #19
произведение
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2012, 00:20     какой то бред!
Еще ссылки по теме:

C++ Программа считает бред какой-то
C++ Какой то бред с передачей указателя в функцию :-)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
07.11.2012, 00:20     какой то бред! #20
Zhor, С++ не выходит из цикла, как только его условие становится неверным.
Это условие проверяется периодически, в порядке живой очереди
т.е.
C++
1
2
3
4
5
6
7
int a = 0;
int b = 0;
while (a == 0)
{
   a = 1;//тут цикл не завершит работу
   b = 42;//это действие тоже будет выполнено
}
Yandex
Объявления
07.11.2012, 00:20     какой то бред!
Ответ Создать тему
Опции темы

Текущее время: 15:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru