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

Вычислить сумму бесконечного сходящегося ряда - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.75
jlejluk
0 / 0 / 0
Регистрация: 14.05.2010
Сообщений: 32
15.05.2010, 16:11     Вычислить сумму бесконечного сходящегося ряда #1
Еще столкнулся с трудными заданиями,поможете буду признателен если нет,буду ломать голову.
1.Вычислить сумму бесконечного сходящегося ряда. Суммирование прекратить при появлении в сумме слагаемых, имеющих абсолютную величину, меньшую заданной погрешности d. Значение d задается пользователем.

2.Реализовать выполнение заданных действий над одномерным массивом. Число элементов массива задаётся пользователем. Элементы могут заполняться как вручную, так и случайным образом (если другой способ явно не указан в условии задачи).
Проверить, можно ли переставить элементы массива так, чтобы получилась арифметическая прогрессия.

3.Реализовать выполнение заданных действий над двумерным массивом. Размерность матрицы задаётся пользователем.
Найти минимальный по модулю элемент матрицы и вычислить сумму строки, в которой он находится.

4.Задача на обработку строк
Дана строка. Заменить в ней все последовательности из нескольких пробелов одним пробелом.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2010, 16:11     Вычислить сумму бесконечного сходящегося ряда
Посмотрите здесь:

C++ Вычислить сумму бесконечного сходящегося ряда.
Вычислить сумму бесконечного сходящегося ряда C++
C++ Вычислить сумму бесконечного сходящегося ряда. Суммирование прекратить при появлении в сумме слагаемых, имеющих абсолютную величину, меньшую заданной
C++ Вычислить сумму бесконечного сходящегося ряда
C++ Вычислить сумму бесконечного ряда с заданной точностью
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sn1pe
11 / 11 / 1
Регистрация: 10.05.2010
Сообщений: 23
15.05.2010, 16:39     Вычислить сумму бесконечного сходящегося ряда #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
№4
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
#include <vcl.h>
#pragma hdrstop
#include <string.h>
#include <conio.h>
#include <iostream.h>
//---------------------------------------------------------------------------
 
#pragma argsused
extern void deletes(char *s, int pos);
 void deletes(char *s, int pos)
{ int i;
if ((s[pos]== ' ') && (s[pos+1]== ' '))
{ deletes(s,pos+1); }
for (i = pos; i < strlen(s)-1; i++)
 {
  s[i]=s[i+1];
}
s[i]=0;
 
}
int main(int argc, char* argv[])
{
char s[150];
int i;
gets(s);
for (i = 0; i < strlen(s); i++)
 {  if ((s[i]==' ') && (s[i+1]==' '))
    deletes(s,i+1);
}
 cout <<s;
 getch();
}
Вроде неплохо, даже рекурсивная функция есть.. Много раз проверял, вроде все правильно.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
15.05.2010, 17:34     Вычислить сумму бесконечного сходящегося ряда #3
К первой и второй задачи нет самого условия.

3)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <iomanip>
#include <ctime>
 
int main ()
{
    int i,j;
    int row,column;
    std::cout << "Input number row: ";
    std::cin >> row;
    std::cout << "Input number column: ";
    std::cin >> column;
    int **MAS = new int *[row];
    for (int i = 0; i < row; i++)
    MAS[i] = new int [column];
 
    srand(time(NULL));
    std::cout << "Start matrix:\n";
    for (i=0; i<row; i++) // заполнеие и вывод матрицы.
    {
        for (j=0; j<column; j++) {
            MAS[i][j]=rand()%1001-500; //-500..500
            std::cout << std::setw(5) << MAS[i][j]; }
        std::cout << std::endl;
    }
    std::cout << std::endl;
 
    int indexRow, min=abs(MAS[0][0]);
    for (i=0; i<row; i++)
        for (j=0; j<column; j++)
            if (min>abs(MAS[i][j]))
            {
                min=abs(MAS[i][j]);
                indexRow=i;
            }
 
    int sum=0;
    for (j=0; j<column; j++)
        sum+=MAS[indexRow][j];
 
    std::cout << "Min: " << min << std::endl;
    std::cout << "Sum: " << sum << std::endl;
 
    for (int i = 0; i < row; i++)
    delete []MAS[i];
    delete []MAS;
    system("pause");
    return 0;
}
jlejluk
0 / 0 / 0
Регистрация: 14.05.2010
Сообщений: 32
15.05.2010, 20:44  [ТС]     Вычислить сумму бесконечного сходящегося ряда #4
Как написать функцию с дробями и степенями, из ворда не копирует (((

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

Не могу запустить в си билдере 6 (выдает еррор)

Добавлено через 18 минут
S=1/2*1-1/2*2+1/2*3-1/2*4+...
Читается так:
Эс равно одна вторая в первой степени минус одна вторая во второй степени плюс одна вторая в третьей степени минус одна вторая в четвертой степени +...

(степени у знаменателей!)
надеюсь вы поняли.Это условие к 1 и 2 задаче.сами задания выше.

Добавлено через 1 час 59 минут
Никто не поможет ((((
Sn1pe
11 / 11 / 1
Регистрация: 10.05.2010
Сообщений: 23
16.05.2010, 09:37     Вычислить сумму бесконечного сходящегося ряда #5
Цитата Сообщение от jlejluk Посмотреть сообщение
Не могу запустить в си билдере 6 (выдает еррор)
Как просил переделка задачи под билдер:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
 
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
int i,j;
int row,column;
cout << "Input number row: ";
cin >> row;
cout << "Input number column: ";
cin >> column;
int **MAS = new int *[row];
for (int i = 0; i < row; i++)
MAS[i] = new int [column];
 
cout << "Start matrix:\n";
for (i=0; i<row; i++) // заполнение и вывод матрицы.
{
for (j=0; j<column; j++) {
MAS[i][j]=rand()%1001-500; //-500..500
cout <<MAS[i][j]<<" "; }
cout <<endl;
}
cout <<endl;
 int indexRow, min=abs(MAS[0][0]);
for (i=0; i<row; i++)
for (j=0; j<column; j++)
if (min>abs(MAS[i][j]))
{
min=abs(MAS[i][j]);
indexRow=i;
}
 
int sum=0;
for (j=0; j<column; j++)
sum+=MAS[indexRow][j];
 
cout << "Min: " << min << endl;
cout << "Sum: " << sum << endl;
 
for (int i = 0; i < row; i++)
delete []MAS[i];
delete []MAS;
getch();
 
}
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
16.05.2010, 09:49     Вычислить сумму бесконечного сходящегося ряда #6
1)S-сумма, f-будет отдельное слагаемое, d-погрешность.
C++
1
2
3
4
5
6
7
8
9
double S=0, f, d;
...
f = 1/2.0;
while (fabs(f)>d)
{
   S += f;
   f *= (-1/2.0);
}
...
jlejluk
0 / 0 / 0
Регистрация: 14.05.2010
Сообщений: 32
16.05.2010, 18:59  [ТС]     Вычислить сумму бесконечного сходящегося ряда #7
Реализовать выполнение заданных действий над одномерным массивом. Число элементов массива задаётся пользователем. Элементы могут заполняться как вручную, так и случайным образом (если другой способ явно не указан в условии задачи).
Проверить, можно ли переставить элементы массива так, чтобы получилась арифметическая прогрессия.

Сложности с решением.
Массив вводится руками. размер массива тоже вводится руками.тут нужна формула арифметической прогрессии.
Арифметическая прогрессия это например a1 = 2, d = 3;
и далее считаешь a2 = a1 + d = 2 + 3 = 5;
a3 = a2 + d = 5 + 3; и так далее
проверяешь твои элементы являются частью прогрессии или нет. элемент a1 у тебя будет самым маленьким элементом в массиве

Вопрос,как это реализавать в код?!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2010, 12:22     Вычислить сумму бесконечного сходящегося ряда
Еще ссылки по теме:

Вычислить сумму бесконечного ряда с помощью функций! C++
C++ Вычислить сумму бесконечного ряда, используя подпрограммы
Вычислить частичную сумму числового сходящегося ряда C++

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

Или воспользуйтесь поиском по форуму:
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
19.05.2010, 12:22     Вычислить сумму бесконечного сходящегося ряда #8
Цитата Сообщение от jlejluk Посмотреть сообщение
Проверить, можно ли переставить элементы массива так, чтобы получилась арифметическая прогрессия.
Сортируешь массив, допустим по возрастанию. Далее в цикле проверяешь разность между всеми соседними элементами, если она будет постоянной, значит последовательность является арфметической.
Yandex
Объявления
19.05.2010, 12:22     Вычислить сумму бесконечного сходящегося ряда
Ответ Создать тему
Опции темы

Текущее время: 01:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru