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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
anna969
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 9
#1

Неправильно считается произведение, начиная с n=5 - C++

20.02.2014, 18:57. Просмотров 388. Ответов 12
Метки нет (Все метки)

Составить программу вычисления и выдачи на печать суммы и произведения N элементов бесконечного числового ряда. Здесь и далее следует пользоваться операторами цикла for или while
y=1(-3)9(-27)81

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# include <stdio.h>
 
void main ()
 
{int n, i=1, y=1, k=0, x=0;
  printf ("n\ Vvedite N");
  scanf ("%d", &n);
 
  for (; n!=0 ; (i=i*3) )
  {
    k++ ;
    if(i<0)
      i=i*(-1);
    if (k%2==0)
      i=i*(-1);
    y=y*i;
    n--;
  }
 
   printf ("%d", y);
 
   printf ("n\ Vvdetite N");
   scanf ("%d", &n);
   k=0;
   i=1;
 
 
   for (; n!=0 ; (i=i*3))
   {
     k++;
     if (i<0)
       i=i*(-1);
     if (k%2==0)
       i=i*(-1);
     x=x+i;
     n--;
   }
 
 
   printf("%d", x);
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2014, 18:57     Неправильно считается произведение, начиная с n=5
Посмотрите здесь:

Неправильно считается произведение элементов массива, принадлежащих заданному диапазона - C++
В одномерном массиве, который состоит из n целых элементов, вычислить произведение элементов массива из диапазона , расположенных между...

Неправильно считается выражение - C++
Здравствуйте! Отличаются результаты вычислений в С++ и маткаде. При исходных данных a=0.5 b=2.9 x=0.3 в С++ получается 0.784731. А в...

Неправильно считается тангенс - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;clocale&gt; #include &lt;cmath&gt; using namespace std; int _tmain(int argc,...

Неправильно считается десятичный логарифм - C++
не верно считается десятичный логарифм(z), почему? заранее спс #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using...

Арифметическое выражение считается неправильно - C++
Столкнулся с проблемой, что значение выражения считается не правильно, если кто может, подскажите что не так. Код программы: int...

Неправильно считается ранг матрицы - C++
#include &lt;algorithm&gt; #include &lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; #include&lt;stdlib.h&gt; #include...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
20.02.2014, 19:19     Неправильно считается произведение, начиная с n=5 #2
for (; n!=0 ; (i=i*3) )
{
y=y*i;
if(i<0)
i=i*(-1);
else
i=i*(-1);
n--;
}
НеСказочник
58 / 46 / 7
Регистрация: 12.11.2012
Сообщений: 344
Записей в блоге: 2
20.02.2014, 19:30     Неправильно считается произведение, начиная с n=5 #3
А если это:

Цитата Сообщение от anna969 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
for (; n!=0 ; (i=i*3) )
  {
    k++ ;
    if(i<0)
      i=i*(-1);
    if (k%2==0)
      i=i*(-1);
    y=y*i;
    n--;
  }
и это:
Цитата Сообщение от anna969 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
for (; n!=0 ; (i=i*3))
   {
       k++;
       if (i<0)
         i=i*(-1);
     if (k%2==0)
         i=i*(-1);
     x=x+i;
     n--;
   }

заменить на это:

C++
1
2
3
4
5
6
7
int k = 1, y = 1;
 
for(int i = 0; i < n; i++)
{
     y = y1*k;
     k = -3*k;
}
и это:
C++
1
2
3
4
5
6
7
int k = 1, x = 0;
 
for(int i = 0; i < n; i++)
{
     x = x + k;
     k = -3*k;
}

По крайней мере отлаживать проще будет, а выполняют они то же самое:

1) В начале k=1;
2) Потом k=-3*1=-3;
3) Потом k=-3*(-3)=9;
4) Потом k=9*(-3)=-27;
...) И так далее.

Формируется тот же ряд.
anna969
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 9
20.02.2014, 19:38  [ТС]     Неправильно считается произведение, начиная с n=5 #4
Все равно при n=5 выдает -6487 (а должно быть 59049)
при отладке перед этим все нормально i=81 y=729, а ответ вот такой =\
НеСказочник
58 / 46 / 7
Регистрация: 12.11.2012
Сообщений: 344
Записей в блоге: 2
20.02.2014, 19:42     Неправильно считается произведение, начиная с n=5 #5
Это в произведении или в сумме ряда?
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
20.02.2014, 19:42     Неправильно считается произведение, начиная с n=5 #6
Использовать long, не?
anna969
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 9
20.02.2014, 19:42  [ТС]     Неправильно считается произведение, начиная с n=5 #7
В произведении
Amandosov
Знаток
156 / 156 / 65
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
20.02.2014, 19:43     Неправильно считается произведение, начиная с n=5 #8
Цитата Сообщение от anna969 Посмотреть сообщение
int n, i=1, y=1, k=0, x=0;
C++
1
long long n, i=1, y=1, k=0, x=0;
anna969
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 9
20.02.2014, 19:43  [ТС]     Неправильно считается произведение, начиная с n=5 #9
На счет long - первым делом изменяла, думала переполнение идет, но ничего не поменялось
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,427
20.02.2014, 20:14     Неправильно считается произведение, начиная с n=5 #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
int main(void)
 {
  int n, x=1,y=1;
 
  printf ("Vvedite N \n");
  scanf ("%d", &n);
  n--;
  for (; n!=0 ;n--)
  {
    x=x*(-3);
    y=y*x;
  }
 
  printf("%d", y);
  return 0;
}
anna969
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 9
20.02.2014, 20:27  [ТС]     Неправильно считается произведение, начиная с n=5 #11
Попробовала все) А значение все то же выходит...)))
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,427
20.02.2014, 20:33     Неправильно считается произведение, начиная с n=5 #12
Цитата Сообщение от anna969 Посмотреть сообщение
Попробовала все) А значение все то же выходит...)))
Выводит 59049,а сколько должно?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2014, 20:51     Неправильно считается произведение, начиная с n=5
Еще ссылки по теме:

Неправильно считается количество пробелов в string - C++
string newName; again: try{ int space_count=0; cout&lt;&lt;&quot;Введите новые ФИО клиента:&quot;; cin&gt;&gt;newName; for(int...

Метод золотого сечения считается неправильно - C++
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &quot;conio.h&quot; #include &quot;math.h&quot; #include &lt;iostream&gt; float Afunc(float x1) { ...

Неправильно считается выражение со степенью и выходит неправильный ответ - C++
Здравствуйте. Пожалуйста, подскажите, где ошибка в программе. Неправильно считается выражение со степенью и выходит неправильный ответ. ...

Двумерный массив. Неправильно считается сумма. Как исправить? - C++
Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от -10 до 40. Определить сумму элементов для тех...


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

Или воспользуйтесь поиском по форуму:
anna969
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 9
20.02.2014, 20:51  [ТС]     Неправильно считается произведение, начиная с n=5 #13
Попробовала в dev c получилось, а в борланде все -6487))

А на то, что я написала ругается))

Добавлено через 9 минут
Поменяла void main() на int main(void) и мое заработало, но только в devc++
Yandex
Объявления
20.02.2014, 20:51     Неправильно считается произведение, начиная с n=5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru