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

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

Войти
Регистрация
Восстановить пароль
 
sergey 7 7
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
#1

Вычислить ∑ 1/i*i N=50 i=1 с использованием оператора for - C++

24.04.2013, 07:24. Просмотров 767. Ответов 9
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include "StdAfx.h" 
#include <iostream>
#include <conio.h>
 using namespace std;
 int _tmain(int argc, _TCHAR* argv[])   
 {
    setlocale(LC_ALL, "RUS");   
int N=50,S,i;
scanf("введите число \n");
for(i=1;i<=50;i++);
{
    S=S+1/i*i;
}
printf("Результат равен %f. \n",S);
    getch();
    return 0;
 }


она считает у меня не правильно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2013, 07:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить ∑ 1/i*i N=50 i=1 с использованием оператора for (C++):

Вычислить выражение ∑(Ai * x^i) + ∑(Bi * y) при i=1,2,3 - C++
Выражение такое: ∑(Ai * x^i) + ∑(Bi * y) при i = 1, 2, 3. Ассемблерную вставку кое-как сделал, а в С++ не могу. Через циклы for, это...

Вычислить с использованием оператора while - C++
Задание: Сделал с помощью for, никак не могу сделать с циклом предусловия -while, просьба помочь. Сам код: #include &lt;cstdlib&gt; ...

Вычислить f(x)=kx+b при x=1,2,.,100 с использованием оператора while - C++
Вычислить f(x)=kx+b при x=1,2,...,100 с использованием оператора while.

Вычислить f(x)=kx+b при x=1,2,...,100 с использованием оператора while - C++
вычислить f(x)=kx+b при x=1,2,...,100 с использованием опретора while

Вычислить f (x) = kx + b , при x = 1,2,...,100с использованием оператора while - C++
Вычислить f (x) = kx + b , при x = 1,2,...,100с использованием оператора while

Вычислить значение выражения с использованием оператора switch - C++
Вычислить значение выражения с использованием оператора switch. Не знаю, что делать дальше. #include &lt;stdio.h&gt; #include &lt;conio.h&gt;...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6360 / 5924 / 1921
Регистрация: 18.12.2011
Сообщений: 15,228
Завершенные тесты: 1
24.04.2013, 08:57 #2
1-я ошибка. Где присвоение S начального значения? (S=0
2-я и 3-я ошибки. S+1/i*i - означает 1 поделить нацело на i (получится ноль),
потом умножить результат на i (получим ноль), потом прибавить S
(неизвестно какое)
sergey 7 7
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
24.04.2013, 09:06  [ТС] #3
на счёт 2-ой и 3-ей ошибки....там 1 делить на i в квадрате.......а где S+ её не надо...S присвою ноль....

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include "StdAfx.h" 
#include <iostream>
#include <conio.h>
 using namespace std;
 int _tmain(int argc, _TCHAR* argv[])   
 {
    setlocale(LC_ALL, "RUS");   
int S=0;
int i;
scanf("введите число \n");
for(i=1;i<=50;i++);
{
    S=1/i*i;
}
printf("Результат равен %f. \n",S);
    getch();
    return 0;
 }
zss
Модератор
Эксперт С++
6360 / 5924 / 1921
Регистрация: 18.12.2011
Сообщений: 15,228
Завершенные тесты: 1
24.04.2013, 09:12 #4
double S=0;
....
S+=1.0/(i*i);
sergey 7 7
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
24.04.2013, 09:19  [ТС] #5
что делать?прога при любом вводе даёт значение 0.000000000

Добавлено через 3 минуты
а теперь 1.0000 всегда выдаёт
zss
Модератор
Эксперт С++
6360 / 5924 / 1921
Регистрация: 18.12.2011
Сообщений: 15,228
Завершенные тесты: 1
24.04.2013, 09:20 #6
Исправьте указанные строки!!!!!!!!!!!!!!!
Цитата Сообщение от zss Посмотреть сообщение
double S=0;
....
S+=1.0/(i*i);
sergey 7 7
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
24.04.2013, 09:22  [ТС] #7
исправил конечно....давно

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include "StdAfx.h" 
#include <iostream>
#include <conio.h>
 using namespace std;
 int _tmain(int argc, _TCHAR* argv[])   
 {
    setlocale(LC_ALL, "RUS");   
double S=0;
int i;
scanf("введите число \n");
for(i=1;i<=50;i++);
{
    S+=1.0/(i*i);
}
printf("Результат равен  %f.\n",S);
    getch();
    return 0;
 }
погодите....теперь он выдаёт всегда одно и тоже значение....в чём проблема теперь?
zss
Модератор
Эксперт С++
6360 / 5924 / 1921
Регистрация: 18.12.2011
Сообщений: 15,228
Завершенные тесты: 1
24.04.2013, 09:30 #8
А почему Вы считаете, что при выполнении алгоритма
при одинаковых начальных условиях должны получаться разные результаты?
scanf("введите число \n"); ничего не вводит
sergey 7 7
0 / 0 / 0
Регистрация: 07.04.2013
Сообщений: 44
24.04.2013, 16:37  [ТС] #9
хорошо... я вас понял...но тогда какой толк писать программу,если условие одно и то же...она должна считать то что я ввёл,я так понимаю?то есть если я даже введу больше 50 она выдаёт то же самое значение

Добавлено через 6 часов 50 минут
Сергей,объясните тогда принцип работы этой программы

Добавлено через 7 минут
Сергей,спасибо за помощь

Добавлено через 8 секунд
Сергей,спасибо за помощь
-=ЮрА=-
Заблокирован
Автор FAQ
24.04.2013, 16:48 #10
Цитата Сообщение от sergey 7 7 Посмотреть сообщение
S=S+1/i*i;
чему равен результат выражения
5 + 1/a*a ответ 5-ти конечно!В задании видимо шла речь о том чтобы сумму умножить на число, т.е накопить сумму и умножить потом.

Добавлено через 7 минут

Не по теме:

ЗЫ: sergey 7 7, вот самый короткий код в стандарте без ненужного, это для варианта 1 делить на i в квадрате

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
 
int main()
{
    double S = 0;
    for(double i= 1; i <= 50; i++)
        S += 1/(i*i);
    cout<<S<<endl;
    cin.get();
    return 0;
}

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2013, 16:48
Привет! Вот еще темы с ответами:

Для заданных x и n вычислить y = ∑ x2/(2i - 1), i = от 1 до Н(Через for) - C++
Для заданных x и n вычислить y = ∑ x2/(2i - 1), i = 1..n

Придумайте простую программу с использованием условного оператора IF и оператора switch - C++
Пожалуйста, придумайте простую программу с использованием: условного оператора IF и оператора switch . Эти программы должны быть...

Выполнить задания с использованием инструкции выбора if и с использованием условного оператора - C++
Выполнить задания с использованием инструкции выбора if и с использованием условного оператора ? (если он присутствует в языке...

программа с использованием оператора If - C++
Программа просит ввести три числа. Найти модуль их разности. Выбрать и напечатать наименьшую из них. Ниже написать «Работу выполнил» и...


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

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

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