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

Найти сумму ряда

20.01.2012, 18:49. Просмотров 1061. Ответов 7
Метки нет (Все метки)

Помогите народ по информатике дали задачи 2 на дом я так то не программист по этому плохо понимаю как делать, все мои попытки что либо сделать самому заканчивались безуспешно...
1)Даны действительное число a и натуральное число n
Вычислить: S=1/a+1/a^2+1/a^4+...+1/a^2n-2
2)Задана последовательность из N вещественных чисел, определить сколько среди них чисел меньших K, равных K, больших K.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2012, 18:49
Ответы с готовыми решениями:

Найти сумму ряда с заданной точностью, если дан общий член ряда
Найти сумму ряда с точностью Е=-4 (0.0001) общий член которого n=n*-n2 (n...

Найти сумму ряда с точностью до члена ряда
Помогите пожалуйста с задачей , вот условие Найти сумму ряда с точностью до...

Найти сумму ряда с точностью до члена ряда
Найти сумму ряда с точностью до члена ряда, меньшего 0.0001 для заданного...

Найти сумму ряда
1 Найти среднее арифметическое всех делителей заданного натурального числа...

Найти сумму ряда
B=0.81 C=1.8 Редактор формул внизу страницы. Задача 1 ...

7
soon
2546 / 1311 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
20.01.2012, 19:19 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от Larc Посмотреть сообщение
)Задана последовательность из N вещественных чисел, определить сколько среди них чисел меньших K, равных K, больших K.
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
#include <vector>
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <iterator>
 
int main()
{
    std::srand(std::time(nullptr));
    int n = 10;
    //std::cin >> n;
    std::vector<double> v;
    v.resize(n);
    std::generate(v.begin(), v.end(), [] { return std::rand() % 21; });
    std::copy(v.begin(), v.end(), std::ostream_iterator<float>(std::cout, " "));
    std::cout << std::endl;
    int k = 5;
    //std::cin >> k;
    std::cout << "less " << std::count_if(v.begin(), v.end(), [k](float num) { return num < k; }) << std::endl;
    std::cout << "equal " << std::count(v.begin(), v.end(), k) << std::endl;
    std::cout << "greater " << std::count_if(v.begin(), v.end(), [k](float num) { return num > k; }) << std::endl;
    return 0;
}
http://liveworkspace.org/code/ae6f070fd4ebae4bec8c092005bac0bd
1
TamTam
18 / 18 / 2
Регистрация: 28.12.2011
Сообщений: 176
20.01.2012, 19:38 3
ну во-первых попытки в студию. во вторых укажи, какой нужен цикл.
Ну и вот тебе алгоритм 1ой задачи:
инициализируй эс, а, эн
задай а (или попроси пользователя его ввести)

напиши эс = 1/a
эн=2
к=эн
цикл
эс = эс+1/a^к
к++
условие выхода:к=2n-2 (меняется в зависимости от цикла)
вывести эс.

Добавлено через 17 минут
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 <stdio.h>
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
using namespace std;
  
int main()
{
    int  S, a, n, k, d;
 
cout << "Vvedi a ";
cin >> a;
 
S=1/a; 
n = 2;
k=n;
d=2n-2;
while(k<=d) 
{
S=S+1/a^к;
k++;
}
 
cout << " " << S << endl;
 
getch();
 
return 0;
 
}
0
HungryInsect
2 / 2 / 1
Регистрация: 16.01.2012
Сообщений: 6
20.01.2012, 21:19 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Неправильно.
1-ая задача

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
31
32
33
34
#include <iostream>
#include <stdlib.h>
#include <clocale>
#include <math.h>
 
using namespace std;
 
main()
{
      setlocale(LC_ALL,"Russian");
      
      int b = 1, n;
      float a, S = 0;
      
      cout << "Ââåäèòå  Г*(äåéñòâèòåëüГ*îå ÷èñëî) = ";
      cin >> a;
      
      do{
      cout << "Ââåäèòå n(Г*Г*ГІГіГ°Г*ëüГ*îå ÷èñëî) = ";
      cin >> n;
      if(n < 0) cout << "ГЋГёГЁГЎГЄГ*! " << n << " Г*ГҐ Г*Г*ГІГіГ°Г*ëüГ*îå ÷èñëî, ïîïðîáóéòå ГҐГ№ГҐ Г°Г*Г§" << endl;
      }
      while(n < 0);
      
      while(b <= 2*n - 2){
              S += (1/pow(a,b));
              b++;
              }
              
      cout << "ÑóììГ* S Г°Г*ГўГ*Г* = " << S << endl;
 
      
      system("PAUSE");      
}
1
TamTam
18 / 18 / 2
Регистрация: 28.12.2011
Сообщений: 176
21.01.2012, 16:04 5
хм, и где не правильно? кроме 2n вместо 2*n, конечно..
0
Mиxaил
534 / 439 / 162
Регистрация: 10.12.2009
Сообщений: 1,857
21.01.2012, 16:21 6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Можно еще так считать во второй задаче:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <functional>
 
int main()
{
    int arr[] = { 1, 2, 3, -4, 5, 6, 12, 7, 5, 8 }, k = 5;
    std::vector < int > vec( arr, arr + sizeof( arr ) / sizeof( *arr ) );
 
    std::cout << " > " << k << " : " << std::count_if( vec.begin(), vec.end(), std::bind2nd( std::greater < int >(), k ) ) << std::endl;
    std::cout << " < " << k << " : " <<std::count_if( vec.begin(), vec.end(), std::bind2nd( std::less < int >(), k ) ) << std::endl; 
    std::cout << " = " << k << " : " <<std::count( vec.begin(), vec.end(), k ) << std::endl; 
    
    return 0;
}
0
TamTam
18 / 18 / 2
Регистрация: 28.12.2011
Сообщений: 176
21.01.2012, 18:07 7
и правда, тут же n = 2;
k=n;
d=2n-2;
while(k<=d)

надо и эн увеличивать.. Прошу прощения у автора . Стыд мне и позор

Но как вариант вводим с консоли эн максимальное, и потом делаем
k=2.
И все путем
0
HungryInsect
2 / 2 / 1
Регистрация: 16.01.2012
Сообщений: 6
21.01.2012, 20:22 8
a действительное число, а значит это тип float, а значит и S должен быть типа float. Плюс, у вас ошибка в синтаксисе, где вы возводите в степень.

В вашем варианте можно сделать так:
C++
1
2
3
4
5
while(k<=d) 
{
S += 1/(a*a);
k++;
}
1
21.01.2012, 20:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2012, 20:22

Найти сумму ряда
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;iomanip&gt; using namespace std;...

Найти сумму ряда
программа некорректно выдает результат #include &quot;stdafx.h&quot; #include &lt;conio.h&gt;...

Найти сумму ряда
Необходимо разработать алгоритм и программу решения задачи


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

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

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