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

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

Войти
Регистрация
Восстановить пароль
 
Аркалык
18 / 18 / 7
Регистрация: 24.09.2013
Сообщений: 159
#1

Конструкция операторов цикла - C++

05.11.2013, 10:58. Просмотров 344. Ответов 10
Метки нет (Все метки)

Разработать алгоритм и программу для вычисления суммы с заданным числом членов.
---------
Помогите решить задачу. Вот что я сам начертил, но результата не дает:
Конструкция операторов цикла
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<conio.h>
#include<stdio.h>
#define n 128
void main()
{
clrscr();
float s=0;
for(int i=2; i<=n; i*2)
s=1.0-(1.0/i+1.0/i-1.0/i);
printf("s=%6.2f",s);
getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2013, 10:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Конструкция операторов цикла (C++):

Является ли такая конструкция реализацией цикла - C++
да понимаю глупый вопрос, но завтра экзамен, нужно уточнить одну деталь: for(int i=1;i&lt;10;i++) //&lt;-цикл ? { }

Конструкция цикла for, для удаления элементов во время перечисления из контейнера STL - C++
std::vector&lt;int&gt; data; data.push_back(2);data.push_back(3);data.push_back(4); for(auto it = data.begin(); it != data.end(); it++) ...

Использование операторов цикла - C++
Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд в двух случаях: ...

Использование операторов цикла - C++
Вычислить значения функции y=4*x*x*x-2*x*x+5,для значений x , изменяющихся от -3 до 1 , с шагом 0.1 , Спасибо заранее . Помогите плз , я...

Задача на использование операторов цикла - C++
Написать программу на Turbo C++

Задача с использованием операторов цикла на с++ - C++
Ребят, помогите &quot;решите задачу тремя способами, используя операторы цикла do while и for. Вывести на экран: таблицу стоимости для...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DarkMasterW
4 / 4 / 0
Регистрация: 25.10.2013
Сообщений: 227
05.11.2013, 11:03 #2
Цитата Сообщение от Аркалык Посмотреть сообщение
s=1.0-(1.0/i+1.0/i-1.0/i);
Вы делите 1.0 каждый раз на одно и то же число.
Аркалык
18 / 18 / 7
Регистрация: 24.09.2013
Сообщений: 159
05.11.2013, 11:11  [ТС] #3
DarkMasterW, Почему на одно и тоже число? У меня же цикл стоит
C++
1
for(int i=2; i<=n; i*2)
Что i каждый раз будет умножатся на 2, пока не будет равен n(128).
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
05.11.2013, 11:16 #4
Нет.

Берем первый виток цикла.

s=1.0-(1.0/2+1.0/2-1.0/2);

Могу написать решение, конечно. Но, я думаю, будет лучше, если Вы сами разберетесь.
feo153
1 / 1 / 0
Регистрация: 16.09.2013
Сообщений: 20
05.11.2013, 11:21 #5
for(int i=2; i<=n; i*2)

в цикле, то у вас и ошибка, вот так попробуйте в последнем выражении i*=2
DarkMasterW
4 / 4 / 0
Регистрация: 25.10.2013
Сообщений: 227
05.11.2013, 11:28 #6
Цитата Сообщение от Аркалык Посмотреть сообщение
DarkMasterW, Почему на одно и тоже число? У меня же цикл стоит
C++
1
for(int i=2; i<=n; i*2)
Что i каждый раз будет умножатся на 2, пока не будет равен n(128).
Будет, но только при новом витке цикла, а не при каждом обращении к инкременту. На втором витке у вас будет делиться опять на одно и тоже число, только уже 4.
Аркалык
18 / 18 / 7
Регистрация: 24.09.2013
Сообщений: 159
05.11.2013, 11:30  [ТС] #7
Проверьте пожалуйста, похоже решил задачу: Решение: s=0.99
На Dev-C++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define n 128
void clear(void)
{
     system("cls");
     }
int main()
{
float s=0;
for(int i=2; i<=n; i*=2)
s=1.0-(1.0/i+1.0/i-1.0/i);
printf("s=%6.2f",s);
getch();
}
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
05.11.2013, 11:34 #8
Нет не решил, там все так же осталось деление на одно и то же число.
DarkMasterW
4 / 4 / 0
Регистрация: 25.10.2013
Сообщений: 227
05.11.2013, 11:36 #9
Цитата Сообщение от Аркалык Посмотреть сообщение
s=1.0-(1.0/i+1.0/i-1.0/i);
Все та же ошибка. Поймите вы внутри строки используете переменную не изменяя ее. Внутри этой строки она статична. Само выражение ошибочно построено.

// Самый верный способ проверки простеньких задач бумажка и ручка. Ну или калькулятор. Результат 0,625.
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
05.11.2013, 11:39 #10
Цитата Сообщение от Аркалык Посмотреть сообщение
for(int i=2; i<=n; i*=2)
s=1.0-(1.0/i+1.0/i-1.0/i);
теперь посмотри
C++
1
2
for(int i=0;i<n;i++)
s+=pow(-1.0,i)/pow(2.0,i);
видишь разницу??
можно сделать и без pow
каждая итерация цикла должна рассчитывать одно слагаемое
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
05.11.2013, 11:52 #11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
using namespace std;
 
int main() {
    int n = 10;
    double sum = 1;
    int num = -1, den = 2;
    for ( int i = 0; i < n; i++ ) {
        sum += num / (double)den;
        num = -num;
        den *= 2;
    }
    std::cout << sum << std::endl;
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2013, 11:52
Привет! Вот еще темы с ответами:

Применение операторов цикла в С++. Методом Симпсона - C++
Написать программу С++. Вычислить приближенное значение интеграла по формулам прямоугольников и Симпсона для n=40 ...

Составить программу вычисления с применением операторов цикла - C++
p=\prod_{i=1}^{5}{e}^{{i}^{2}}+1

Опишите сходство и различие использования операторов цикла for, while - C++
0пишите сходство и различие использования операторов цикла for, while и do ... while. Приведите примеры.

Использование условного оператора после операторов цикла с условием - C++
Определить: а) является ли заданное число степенью числа 3. б) является ли заданное число степенью числа 5.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.11.2013, 11:52
Ответ Создать тему
Опции темы

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