Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
0 / 0 / 1
Регистрация: 07.04.2013
Сообщений: 44
1

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

24.04.2013, 07:24. Просмотров 3766. Ответов 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;
 }


она считает у меня не правильно
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.04.2013, 07:24
Ответы с готовыми решениями:

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

Вычислить с использованием оператора while
Задание: Сделал с помощью for, никак не могу сделать с циклом предусловия -while, просьба...

Вычислить выражение с использованием операторов условного перехода и с использованием оператора цикла
Помогите. Составить программу расчета выражений на языке QBASIC. Нужна программа в двух вариантах....

Вычислить с использованием оператора for
\prod_{i=1}^{52} {\frac{i^2}{i^2+2i+3}}

9
Модератор
Эксперт С++
9789 / 8353 / 5087
Регистрация: 18.12.2011
Сообщений: 22,329
24.04.2013, 08:57 2
1-я ошибка. Где присвоение S начального значения? (S=0
2-я и 3-я ошибки. S+1/i*i - означает 1 поделить нацело на i (получится ноль),
потом умножить результат на i (получим ноль), потом прибавить S
(неизвестно какое)
0
0 / 0 / 1
Регистрация: 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;
 }
0
Модератор
Эксперт С++
9789 / 8353 / 5087
Регистрация: 18.12.2011
Сообщений: 22,329
24.04.2013, 09:12 4
double S=0;
....
S+=1.0/(i*i);
0
0 / 0 / 1
Регистрация: 07.04.2013
Сообщений: 44
24.04.2013, 09:19  [ТС] 5
что делать?прога при любом вводе даёт значение 0.000000000

Добавлено через 3 минуты
а теперь 1.0000 всегда выдаёт
0
Модератор
Эксперт С++
9789 / 8353 / 5087
Регистрация: 18.12.2011
Сообщений: 22,329
24.04.2013, 09:20 6
Исправьте указанные строки!!!!!!!!!!!!!!!
Цитата Сообщение от zss Посмотреть сообщение
double S=0;
....
S+=1.0/(i*i);
0
0 / 0 / 1
Регистрация: 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;
 }
погодите....теперь он выдаёт всегда одно и тоже значение....в чём проблема теперь?
0
Модератор
Эксперт С++
9789 / 8353 / 5087
Регистрация: 18.12.2011
Сообщений: 22,329
24.04.2013, 09:30 8
А почему Вы считаете, что при выполнении алгоритма
при одинаковых начальных условиях должны получаться разные результаты?
scanf("введите число \n"); ничего не вводит
0
0 / 0 / 1
Регистрация: 07.04.2013
Сообщений: 44
24.04.2013, 16:37  [ТС] 9
хорошо... я вас понял...но тогда какой толк писать программу,если условие одно и то же...она должна считать то что я ввёл,я так понимаю?то есть если я даже введу больше 50 она выдаёт то же самое значение

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

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

Добавлено через 8 секунд
Сергей,спасибо за помощь
0
Заблокирован
Автор 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;
}

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2013, 16:48

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Вычислить с использованием оператора CASE
B= e^2x 2+lg3x (x-1,2)^2 sqrt(x+3) Заранее спасибо.

Вычислить f(x)=1/x, x==0 при x = -10, -9,.,10 с использованием оператора for
Вычислить f(x)=1/x, x==0 при x = -10, -9,..,10 с использованием оператора for

Вычислить значение по формуле с использованием оператора if
Кто может помочь написать решение задачи через оператор if на php if - это &quot;если&quot; насколько я...

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


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

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