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

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

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

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

Добавлено через 21 минуту
Цитата Сообщение от taras atavin Посмотреть сообщение
Не понимаю, о каком таком "довольно большом курсе высшей математики" может идти речь
Вот так бывает )) Или я пропустил когда всем это рассказывали, но потом мне не приходилось с этим знаком иметь дело... Чес слово
KreshDiz
3 / 3 / 1
Регистрация: 29.11.2010
Сообщений: 95
11.11.2011, 10:00  [ТС]     Найти сумму ряда #6
Что такое боланд?
Если код не получается напишите хотя бы что программа должна делать, до кода может сам дойду...
magistr011
 Аватар для 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:\***,
// появляется меню там по умолчанию ставим этот шрифт.
Только прошу не кидайтесь камнями, это вообще самый первый пост с моим кодом
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
11.11.2011, 11:26     Найти сумму ряда #8
Цитата Сообщение от magistr011 Посмотреть сообщение
for(int i=1; i<=L; i++)
При L=60 выход за границы массива.
magistr011
 Аватар для magistr011
6 / 6 / 0
Регистрация: 22.10.2011
Сообщений: 164
11.11.2011, 11:44     Найти сумму ряда #9
недолжно i=1 ведь...
от 1 до <= 60 значения берутся...
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
11.11.2011, 11:47     Найти сумму ряда #10
Цитата Сообщение от magistr011 Посмотреть сообщение
от 1 до <= 60 значения берутся...
Массивы в C нумеруются с 0. Это значит, что для a[60] индекс последнего элемента = 59. А не 60.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
11.11.2011, 11:53     Найти сумму ряда #11
Цитата Сообщение от magistr011 Посмотреть сообщение
от 1 до <= 60 значения берутся..
от ноля до <60.
magistr011
 Аватар для 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:\***,
// появляется меню там по умолчанию ставим этот шрифт.
KreshDiz
3 / 3 / 1
Регистрация: 29.11.2010
Сообщений: 95
11.11.2011, 16:32  [ТС]     Найти сумму ряда #13
Это код не корректен для линукса. Обьясните мне пожалуйста на словах как должна работать программа ( я формулы не понимаю) после ввода в неё массива?
magistr011
 Аватар для magistr011
6 / 6 / 0
Регистрация: 22.10.2011
Сообщений: 164
12.11.2011, 10:30     Найти сумму ряда #14
Ну тогда извини, я по линукс знаю только одно слово "Линукс"...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2011, 23:27     Найти сумму ряда
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
KreshDiz
3 / 3 / 1
Регистрация: 29.11.2010
Сообщений: 95
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строку(где собственно само решение идёт)...
Yandex
Объявления
17.11.2011, 23:27     Найти сумму ряда
Ответ Создать тему
Опции темы

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