Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Вирусоборец
208 / 154 / 69
Регистрация: 24.09.2013
Сообщений: 826

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

05.11.2013, 10:58. Показов 758. Ответов 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();
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.11.2013, 10:58
Ответы с готовыми решениями:

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

Конструкция цикла for, для удаления элементов во время перечисления из контейнера STL
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++) ...

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

10
5 / 5 / 1
Регистрация: 25.10.2013
Сообщений: 230
05.11.2013, 11:03
Цитата Сообщение от Аркалык Посмотреть сообщение
s=1.0-(1.0/i+1.0/i-1.0/i);
Вы делите 1.0 каждый раз на одно и то же число.
0
Вирусоборец
208 / 154 / 69
Регистрация: 24.09.2013
Сообщений: 826
05.11.2013, 11:11  [ТС]
DarkMasterW, Почему на одно и тоже число? У меня же цикл стоит
C++
1
for(int i=2; i<=n; i*2)
Что i каждый раз будет умножатся на 2, пока не будет равен n(128).
0
148 / 114 / 21
Регистрация: 15.01.2013
Сообщений: 266
05.11.2013, 11:16
Нет.

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

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

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

в цикле, то у вас и ошибка, вот так попробуйте в последнем выражении i*=2
0
5 / 5 / 1
Регистрация: 25.10.2013
Сообщений: 230
05.11.2013, 11:28
Цитата Сообщение от Аркалык Посмотреть сообщение
DarkMasterW, Почему на одно и тоже число? У меня же цикл стоит
C++
1
for(int i=2; i<=n; i*2)
Что i каждый раз будет умножатся на 2, пока не будет равен n(128).
Будет, но только при новом витке цикла, а не при каждом обращении к инкременту. На втором витке у вас будет делиться опять на одно и тоже число, только уже 4.
0
Вирусоборец
208 / 154 / 69
Регистрация: 24.09.2013
Сообщений: 826
05.11.2013, 11:30  [ТС]
Проверьте пожалуйста, похоже решил задачу: Решение: 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();
}
0
148 / 114 / 21
Регистрация: 15.01.2013
Сообщений: 266
05.11.2013, 11:34
Нет не решил, там все так же осталось деление на одно и то же число.
0
5 / 5 / 1
Регистрация: 25.10.2013
Сообщений: 230
05.11.2013, 11:36
Цитата Сообщение от Аркалык Посмотреть сообщение
s=1.0-(1.0/i+1.0/i-1.0/i);
Все та же ошибка. Поймите вы внутри строки используете переменную не изменяя ее. Внутри этой строки она статична. Само выражение ошибочно построено.

// Самый верный способ проверки простеньких задач бумажка и ручка. Ну или калькулятор. Результат 0,625.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
05.11.2013, 11:39
Цитата Сообщение от Аркалык Посмотреть сообщение
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
каждая итерация цикла должна рассчитывать одно слагаемое
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
05.11.2013, 11:52
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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.11.2013, 11:52
Помогаю со студенческими работами здесь

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

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

Блок проверки операторов цикла
1.блок проверки условного оператора цикла (if,if else) для вычисления: если F, то D=(B+C)/(B-C) иначе D=(B-C)/(B+C) 2.Блок проверки...

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

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru