Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
KreshDiz
3 / 3 / 1
Регистрация: 29.11.2010
Сообщений: 102
#1

Найти сумму ряда - C++

10.11.2011, 21:48. Просмотров 878. Ответов 14
Метки нет (Все метки)

Составить алгоритм и написать программу на языке С – консольное приложение, выполняющую набор действий, заданный соответствующим вариантом. Программа должна работать в текстовом режиме, обеспечивать процедуры запроса и ввода данных, сопровождающиеся соответствующими пояснениями. В случае, когда в программе выполняются действия над массивами данных, программный диалог должен начинаться с запроса на ввод размерностей соответствующих массивов с проверкой на корректность введенных данных. Далее должен быть реализован запрос на выбор способа подготовки данных: ручной ввод, либо "автоматическая" программная генерация с использованием функции rand(), с последующей "адаптацией" сгенерированных данных к требованиям программы. При генерации вещественных значений ограничиться тремя цифрами после плавающей точки.
Найти сумму ряда
Собственно сама задача:
Найти сумму ряда
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2011, 21:48
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти сумму ряда (C++):

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

Найти сумму ряда с точностью до члена ряда - C++
Найти сумму ряда с точностью до члена ряда, меньшего 0.0001 для заданного значения и сравнить эту сумму с функцией контроля. Для...

Найти сумму ряда с точностью до члена ряда - C++
Помогите пожалуйста с задачей , вот условие Найти сумму ряда с точностью до члена ряда, меньшего ε(0.0001) для заданного значения и...

Найти сумму ряда - C++
День добрый, очень нужна помощь в решении задач по Абрамову, моя девушка мозги проканифолила хз сколько времени, завтра уже ей сдавать, за...

Найти сумму ряда - C++
Даны действительное число а и натуральное число n. Вычислить: 1/a+1/(a+1)+1/(a+2)+1/(a+n-1)

Найти сумму ряда - C++
Здравствуйте! Поправьте пожалуйста код. Что в нем не правильно? писал на visual studio #include "stdafx.h" #include <iostream> ...

14
taras atavin
3888 / 1762 / 92
Регистрация: 24.11.2009
Сообщений: 27,565
11.11.2011, 05:59 #2
Это не совсем в этот раздел, для болэнда завели свой. А задача судя по всему сложить все элменты больше 1, остальные перемножить. Только как это под болэндом сделать в консоли я не знаю. Знаю, как сделать в графическом режиме под болэендом, используя объекты классов TEdit, TMemo и TCombobox. Знаю, как сделать это в консоли, но не под болэндом. А под болэндом в косоли не знаю.
0
magistr011
6 / 6 / 0
Регистрация: 22.10.2011
Сообщений: 164
11.11.2011, 06:08 #3
Я могу помочь тебе немного, сам решаю подобную задачу, но в своём (давольно большом) курсе высшей математики я знак суммы ещё встречал, а знак "П" (на втором скрине второе неравенство системы) - что значит???
0
taras atavin
3888 / 1762 / 92
Регистрация: 24.11.2009
Сообщений: 27,565
11.11.2011, 06:12 #4
Цитата Сообщение от magistr011 Посмотреть сообщение
а знак "П" (на втором скрине второе неравенство системы) - что значит???
Произведение. Не понимаю, о каком таком "довольно большом курсе высшей математики" может идти речь, если ты не знаешь символа, проходимого в начале первого семестра первого курса, причём, на инженерной, а не математической специальности.
Цитата Сообщение от taras atavin Посмотреть сообщение
косоли
то есть консоли.
0
magistr011
6 / 6 / 0
Регистрация: 22.10.2011
Сообщений: 164
11.11.2011, 06:37 #5
Спасибо )) Век живи, век учись... Щас попробую накидать примерно код...

Добавлено через 21 минуту
Цитата Сообщение от taras atavin Посмотреть сообщение
Не понимаю, о каком таком "довольно большом курсе высшей математики" может идти речь
Вот так бывает )) Или я пропустил когда всем это рассказывали, но потом мне не приходилось с этим знаком иметь дело... Чес слово
0
KreshDiz
3 / 3 / 1
Регистрация: 29.11.2010
Сообщений: 102
11.11.2011, 10:00  [ТС] #6
Что такое боланд?
Если код не получается напишите хотя бы что программа должна делать, до кода может сам дойду...
0
magistr011
6 / 6 / 0
Регистрация: 22.10.2011
Сообщений: 164
11.11.2011, 11:07 #7
Цитата Сообщение от KreshDiz Посмотреть сообщение
Что такое боланд?
Если код не получается напишите хотя бы что программа должна делать, до кода может сам дойду...
боланд - это Borland Builder C++

Программа должна брать массив A[L], где L <= 60; Потом должна создавать массив b[L] (как я пока не понял...). Потом программа должна создать массив b[i] = системе и просуммировать его элементы согласно формуле S.

Причём я так понял, что програма не должна выводить промежуточные результаты а в итоге вывести:
2 массива A[L], b[L] и S.

Просьба палками не бить, я именно так понял задачу...

Добавлено через 16 минут
Вот код создаёт массив: A[L] я написал его так, чтобы масив создавался из чисел <=60;
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
//В Builder C++ создать новый проект ->  Console Wizard -> Вставить этот код.
 
#include <Windows.h>
#include <vcl.h>
#include <iostream>
#pragma hdrstop     // Я так понимаю для кэширования того, что находится выше, чтобы не компилировать при повторной компиляции
using namespace std;
 
int main()
{
SetConsoleCP (1251); // регистры в C++ учитываются
SetConsoleOutputCP (1251);
 
int L;
int a[60];
m1:  // За метки не бить ))) просто, цикл для меня ещё сложно оформить...
cout << "Введите L \t";
cin >> L;
 
if (L>60)
   {
      cout << "Используйте числа меньше 60 \n";
      goto m1;
   }
else
   {
     for(int i=1; i<=L; i++)
       {
          a[i]=rand()%60;
          int n=a[i];
          cout << n << "\n";
       }
   }
system ("pause >> void");
}
// Для отображения русского шрифта в свойствах окна поставить
// шрифт Lucida Console, в левом верхнем углу жмем на ***C:\***,
// появляется меню там по умолчанию ставим этот шрифт.
Только прошу не кидайтесь камнями, это вообще самый первый пост с моим кодом
0
mimicria
return (true);
1959 / 1096 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
11.11.2011, 11:26 #8
Цитата Сообщение от magistr011 Посмотреть сообщение
for(int i=1; i<=L; i++)
При L=60 выход за границы массива.
0
magistr011
6 / 6 / 0
Регистрация: 22.10.2011
Сообщений: 164
11.11.2011, 11:44 #9
недолжно i=1 ведь...
от 1 до <= 60 значения берутся...
0
mimicria
return (true);
1959 / 1096 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
11.11.2011, 11:47 #10
Цитата Сообщение от magistr011 Посмотреть сообщение
от 1 до <= 60 значения берутся...
Массивы в C нумеруются с 0. Это значит, что для a[60] индекс последнего элемента = 59. А не 60.
0
taras atavin
3888 / 1762 / 92
Регистрация: 24.11.2009
Сообщений: 27,565
11.11.2011, 11:53 #11
Цитата Сообщение от magistr011 Посмотреть сообщение
от 1 до <= 60 значения берутся..
от ноля до <60.
0
magistr011
6 / 6 / 0
Регистрация: 22.10.2011
Сообщений: 164
11.11.2011, 13:51 #12
А так ???
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
//В Builder C++ создать новый проект ->  Console Wizard -> Вставить этот код.
 
#include <Windows.h>
#include <vcl.h>
#include <iostream>
#pragma hdrstop     // Я так понимаю для кэширования того, что находится выше, чтобы не компилировать при повторной компиляции
using namespace std;
 
int main()
{
SetConsoleCP (1251); // регистры в C++ учитываются
SetConsoleOutputCP (1251);
 
int L;
int a[60];
m1:  // За метки не бить ))) просто, цикл для меня ещё сложно оформить...
cout << "Введите L \t";
cin >> L;
 
if (L>60)
   {
      cout << "Используйте числа меньше 60 \n";
      goto m1;
   }
else
   {
     for(int i=0; i<sizeof(a) / sizeof (int); i++)
       {
          a[i]=rand()%60;
          int n=a[i];
          cout << n << "\n";
 
       }
   }
cout << "\n\n элемент массива а[60]" << a[60];
system ("pause >> void");
}
// Для отображения русского шрифта в свойствах окна поставить
// шрифт Lucida Console, в левом верхнем углу жмем на ***C:\***,
// появляется меню там по умолчанию ставим этот шрифт.
0
KreshDiz
3 / 3 / 1
Регистрация: 29.11.2010
Сообщений: 102
11.11.2011, 16:32  [ТС] #13
Это код не корректен для линукса. Обьясните мне пожалуйста на словах как должна работать программа ( я формулы не понимаю) после ввода в неё массива?
0
magistr011
6 / 6 / 0
Регистрация: 22.10.2011
Сообщений: 164
12.11.2011, 10:30 #14
Ну тогда извини, я по линукс знаю только одно слово "Линукс"...
0
KreshDiz
3 / 3 / 1
Регистрация: 29.11.2010
Сообщений: 102
17.11.2011, 23:27  [ТС] #15
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
#define L 60
int main (void)
   {
   float array[L], b[L];
   int i,l,curL;
   char a, Sum=0, P=1,chF, S,t;
   double d, res;
    printf("Vvedite razmernoct' massiva(<60): ");
    if((scanf("%d", &curL)!=1) || (curL>59))
    { printf("Necorrectniy vvod!");
      getch();
      exit(0);
    }
   printf("Zapolnit' massiv avtomaticheski?(y/n) \n");
   chF=getch();
   switch(chF)
{ {  case 'y': printf("Yes");
for(i=0;i<curL;i++)
{array[i]=(float)(0+rand()%10);}
break;}
 
{ case 'n': printf("No\n");
for(i=0;i<curL;i++)  {
printf("Vvedite element[%d]: ", i+1);
if(scanf("%d", &array[i])!=1)
{  printf("Dostupen vvod tol'ko chisel!");
    getch();
    exit(0);
    }}
break;}
default: printf("Neverniy vvod \n");
 getch(); exit(0);
    }
 
    for (i=0; i<curL; i++)
    {res = log(array[i]);
     i=l;
     if( res=0 | res>0)
    {for(i=0;i<l;i++)
    {Sum=Sum+array[i];
    b[i]=Sum;
    }}
    else
    {for(i=0;i<l;i++)
    {P=P*array[i];
    b[i]=P;}}}
 
    for (i=0; i<curL; i++)
    {t=b[i]*b[i]*b[i];
    S=t+S;}
         {printf("\n Massiv!");
         for(i=0;i<curL;i++)
         {printf("%5.3g", array[i]);}
 
        printf("\nNew massiv!");
         for(i=0;i<curL;i++) {
         printf("\n");
         printf("%5.3g", b[i]);}
         printf("\nPress any key to EXIT!");
         getch();
         exit(0);  }
         printf("S %5.3g", S);
 
   getch();
   return 0; }
Помогите отладить плиз, а то что-то не фурычит... Скорее всего ожибка где-то с 39 по 54строку(где собственно само решение идёт)...
0
17.11.2011, 23:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2011, 23:27
Привет! Вот еще темы с ответами:

Найти сумму ряда - C++
Помогите посчитать сумму ряда S=1+3+6+9+...(n).

Найти сумму ряда - C++
1 Найти среднее арифметическое всех делителей заданного натурального числа N(N&lt;=1000). Ребят помогите буду очень признательна 2 Дано...

Найти сумму ряда - C++
Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10% от нормы предыдущего...

Найти сумму ряда - C++
Составить программу вычисление y=(1+1/1!+1/2!+...1/11!)*0.021


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

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

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