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

Чередование знаков -+-+-+ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 5.00
LeMax24
51 / 13 / 2
Регистрация: 29.09.2012
Сообщений: 90
19.11.2012, 20:07     Чередование знаков -+-+-+ #1
Ребят подскажите как сделать чередование знаков. Нужно решить задачу
Обчислити суму ряду за наведеними у варіантах виразами. Обчислення вести до тих пір, поки абсолютна величина різниці між двома сусідніми членами ряду {Изображение} не перевищуватиме деякої величини E. (10^-3 > E > 10^-7). Значення змінних вибрати самостійно. Программа должна выполняца через цикл while или do -while
Миниатюры
Чередование знаков -+-+-+  
Изображения
 
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,051
19.11.2012, 20:17     Чередование знаков -+-+-+ #2
возводи -1 в степень
четные 1 нечетные -1
или можно так
C++
1
2
3
4
5
6
int znak=1
for(........)
{
sum=sum+znak*znach;
znak*=-1;
}
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11841 / 6820 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
19.11.2012, 20:23     Чередование знаков -+-+-+ #3
Цитата Сообщение от ValeryS Посмотреть сообщение
возводи -1 в степень
четные 1 нечетные -1
или можно так
а разве, если решать по вышеприведенной формуле, то pow(-1,n-1) не даст чередование знака? По-моему, оно для этого там и стоит.
LeMax24
51 / 13 / 2
Регистрация: 29.09.2012
Сообщений: 90
19.11.2012, 21:55  [ТС]     Чередование знаков -+-+-+ #4
Цитата Сообщение от Croessmah Посмотреть сообщение
а разве, если решать по вышеприведенной формуле, то pow(-1,n-1) не даст чередование знака? По-моему, оно для этого там и стоит.
так а n откуда берётся?

Добавлено через 42 минуты
сделал так но мне кажется не правильно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cmath>
 
int main()
{
    setlocale (LC_ALL, "Russian");
    double x = 0, Summa = 0, znak = 1;
 
    std::cout << "Введите х: ";
    std::cin >> x;
 
    do
    {
        for(int i = 1; i <= 10000; i += 2)
            Summa = Summa + (znak * pow(x, i));
    }
    while((-1000 > Summa) && (Summa < -10000000));
    
    std::cout << Summa << std::endl;
 
    system("pause");
    return 0;
}
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,051
20.11.2012, 06:18     Чередование знаков -+-+-+ #5
znak то где переворачиваешь?
можно так
C++
1
znak*=-1;
а можно так
C++
1
znak=-znak;
Добавлено через 2 минуты
Цитата Сообщение от LeMax24 Посмотреть сообщение
for(int i = 1; i <= 10000; i += 2)
* * * * * * Summa = Summa + (znak * pow(x, i));
это ж сколько будет занимать число в десятитысячной степени
LeMax24
51 / 13 / 2
Регистрация: 29.09.2012
Сообщений: 90
20.11.2012, 09:53  [ТС]     Чередование знаков -+-+-+ #6
Цитата Сообщение от ValeryS Посмотреть сообщение
znak то где переворачиваешь?
можно так
C++
1
znak*=-1;
а можно так
C++
1
znak=-znak;
Добавлено через 2 минуты

это ж сколько будет занимать число в десятитысячной степени
Так я вот незнаю правельно ясделал или нет, помогите с решением!
XRuZzz
Антикодер
577 / 478 / 23
Регистрация: 15.09.2012
Сообщений: 2,429
20.11.2012, 10:13     Чередование знаков -+-+-+ #7
при некоторых условиях можно ещё использовать такой способ
C++
1
2
3
4
5
    for (int i=1;i<=10;i++)
    {
             sig = i & 1 ? 1 : -1;
            std::cout<<sig <<std::endl;
    }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2012, 21:37     Чередование знаков -+-+-+
Еще ссылки по теме:

С клавиатуры вводятся массив целых чисел. Проверить наблюдается ли в массиве чередование положительных и отрицательных элементов C++
C++ Последовательность из цифр, букв и знаков. Подсчитать чего больше и составить строки только из цифр, букв и знаков
C++ Целочисленные массивы: чередование минимального и максимального элементов

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

Или воспользуйтесь поиском по форуму:
LeMax24
51 / 13 / 2
Регистрация: 29.09.2012
Сообщений: 90
20.11.2012, 21:37  [ТС]     Чередование знаков -+-+-+ #8
Сделал так, проверте правильно ли я сделал чередование знаков?
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
#include <iostream>
#include <cmath>
 
int main()
{
    setlocale (LC_ALL, "Russian");
    double e = 0, x = 0, Summa = 0, U1 = 0, U2 = 0, n = 1;
 
    std::cout << "Введите е: ";
    std::cin >> e;
 
    std::cout << "Введите x: ";
    std::cin >> x;
 
    Summa = U2 = x;
 
    do
    {
        U1 = U2;
        n++;
        U2 = pow(-1, n-1) * pow(x, 2 * n - 1)/(2 * n - 1);
        Summa += U2;
    }
    while (abs(U2-U1) <= e);
 
    std::cout << "Сумма: " << Summa << std::endl;
 
    system("pause");
    return 0;
}
Yandex
Объявления
20.11.2012, 21:37     Чередование знаков -+-+-+
Ответ Создать тему
Опции темы

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