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

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
#1

Решить прикладную задачу с помощью циклического вычислительного процесса - C++

28.02.2010, 14:22. Просмотров 1113. Ответов 13
Метки нет (Все метки)

Помогите решить...Не знаю как...

Решить прикладную задачу с помощью циклического вычислительного процесса.
Дано натуральное n. Вычислить: "Миниатюры"


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//---------------------------------------------------------------------------
#include <vcl.h>
#include <iostream.h>
#include <conio.h>
//---------------------------------------------------------------------------
int main()
{clrscr();
float b,y; int n,i;
cout<<"n="; cin>>n;
for (i=1;i<=n;i++)
y+=1*3*5*(2*n-1);
cout<<"\ny="<<y;
getch();
        return 0;
}
//---------------------------------------------------------------------------
0
Миниатюры
Решить прикладную задачу с помощью циклического вычислительного процесса  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2010, 14:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Решить прикладную задачу с помощью циклического вычислительного процесса (C++):

Задача "Производители-Потребители", реализация с помощью Events и циклического буфера - C++
Доброго времени суток. Написал программу для решения сабжевой задачи, с условиями 1 производитель, 1 потребитель. Программа...

Помогите решить конкретную задачу связанную с шаблонами - C++
Такая задача: есть три класса, один простой, другой шаблонный, а третий - интерфейсный. Простой класс и шаблонный - наследуются от...

помогите решить задачу - C++ Builder
5 элементов массива, содержащего данные размера 2 байта, хранящегося по адресу 0хFF31 копировать в массив, хранящий 5 элементов размера 4...

как решить эту задачу в Builder - C++ Builder
Кривая (Аx) 2+(By) 2=C2 пересекается прямой y=Dx в точках M и N. Точку K(C/A ,0) соединили с точками M и N. Найти периметр  MNK и угол...

Помогите пожалуйста решить задачу с динамической памятью и указателями - C++ Builder
Тема: Структуры, указатели. Цель работы: научиться работать с указателями, описать структуру, использовать в программе динамическую...

Помогите решить задачу на C++ - Visual C++
Построить все слова длины n&gt;0 в алфавите скобок &quot;(&quot; и &quot;)&quot;, представляющие правильные скобочные записи

13
pryda
Неадекват и грубиян
291 / 285 / 76
Регистрация: 22.02.2010
Сообщений: 627
28.02.2010, 14:36 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main()
{
int y=1,n;
cout << "Enter N: ";
cin >> n;
for (int i=1; i<=n; i++)
y*=2*i-1;
cout << "y=" << y;
return 0;
}
1
alderina
0 / 0 / 0
Регистрация: 20.03.2010
Сообщений: 6
20.03.2010, 10:56 #3
неверно код работает
0
Aye Aye
369 / 283 / 36
Регистрация: 17.12.2009
Сообщений: 567
20.03.2010, 13:23 #4
ага, не верно, надо for (int i=0;...
0
alderina
0 / 0 / 0
Регистрация: 20.03.2010
Сообщений: 6
20.03.2010, 16:52 #5
Цитата Сообщение от Aye Aye Посмотреть сообщение
ага, не верно, надо for (int i=0;...
нет. ошибка в другом месте.
он логически неверный.
0
Cepera
52 / 52 / 1
Регистрация: 09.03.2009
Сообщений: 178
20.03.2010, 17:09 #6
Мне кажется должно быть как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main()
{
int y=1,n;
cout << "Enter N: ";
cin >> n;
for (int i=1; i<=n; i+=2) y*=i;
y*=(2*i-1);
cout << "y=" << y;
return 0;
}
0
Genius Ignat
1237 / 775 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
20.03.2010, 18:22 #7
нет. ошибка в другом месте.
он логически неверный.
Меня терзают смутные сомнения: в плане того как этот пример вообще может развивать логику
человеку, учащему язык программирования.
Пример из разряда набивании руки, и не особо чему то учащий.
0
alderina
0 / 0 / 0
Регистрация: 20.03.2010
Сообщений: 6
22.03.2010, 13:40 #8
Цитата Сообщение от Cepera Посмотреть сообщение
Мне кажется должно быть как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main()
{
int y=1,n;
cout << "Enter N: ";
cin >> n;
for (int i=1; i<=n; i+=2) y*=i;
y*=(2*i-1);
cout << "y=" << y;
return 0;
}
ага, тоже не работает.


Цитата Сообщение от Genius Ignat Посмотреть сообщение
Меня терзают смутные сомнения: в плане того как этот пример вообще может развивать логику
человеку, учащему язык программирования.
Пример из разряда набивании руки, и не особо чему то учащий.
Нет проверки ввода.
И фиг бы с ним, но не работает, ага.
0
Cepera
52 / 52 / 1
Регистрация: 09.03.2009
Сообщений: 178
22.03.2010, 16:43 #9
Что значит не работает? Не компилируется и выдает ошибку? Работает, но считает не правильно? Или может запускается но ничего не считает вообще? Происходит-то что?

Добавлено через 23 минуты
Попробуйте вынести определение int i за пределы цикла, т.е. так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main()
{
int y=1,n,i;
cout << "Enter N: ";
cin >> n;
for (i=1; i<=n; i+=2) y*=i;
y*=(2*i-1);
cout << "y=" << y;
return 0;
}
0
alderina
0 / 0 / 0
Регистрация: 20.03.2010
Сообщений: 6
22.03.2010, 17:01 #10
Цитата Сообщение от Cepera Посмотреть сообщение
Что значит не работает? Не компилируется и выдает ошибку? Работает, но считает не правильно? Или может запускается но ничего не считает вообще? Происходит-то что?

Добавлено через 23 минуты
Попробуйте вынести определение int i за пределы цикла, т.е. так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main()
{
int y=1,n,i;
cout << "Enter N: ";
cin >> n;
for (i=1; i<=n; i+=2) y*=i;
y*=(2*i-1);
cout << "y=" << y;
return 0;
}
ну для себя то я уже сделала нормальный код, а этот...

он логически неверный. нет проверки на то что вводится, и исходное задание
2n-1, оно неспроста такую запись имеет.
А то что вы написали-компилируется, но просто не работает.
0
Cepera
52 / 52 / 1
Регистрация: 09.03.2009
Сообщений: 178
22.03.2010, 21:18 #11
Цитата Сообщение от alderina Посмотреть сообщение
он логически неверный. нет проверки на то что вводится
Т.е. вы считаете что вся логика программы сводиться к проверке вводимого значения?
Цитата Сообщение от alderina Посмотреть сообщение
2n-1, оно неспроста такую запись имеет.
И вы думаете что этого в приведенном коде нет?
Цитата Сообщение от alderina Посмотреть сообщение
А то что вы написали-компилируется, но просто не работает.
А что сделали вы чтобы он заработал? Написали сообщение что "оно не работает"? Вроде бы как не я здесь создал тему с просьбой о помощи. Вам в рамках форума предложили помощь и пример алгоритма, ожидая от вас хоть какого-нибудь участия в отладке алгоритма, но все что вы смогли сказать, так это: "он не работает". Или вы думаете что здесь вам кто-то должен и за вас будет все делать.
0
alderina
0 / 0 / 0
Регистрация: 20.03.2010
Сообщений: 6
23.03.2010, 14:29 #12
Cepera, мне помощь не нужна. Работающий код у меня есть. Свой.
И мне крайне любопытно, зачем писать ++, когда надо вычитать.
0
Cepera
52 / 52 / 1
Регистрация: 09.03.2009
Сообщений: 178
23.03.2010, 16:38 #13
Цитата Сообщение от alderina Посмотреть сообщение
И мне крайне любопытно, зачем писать ++, когда надо вычитать.
Начнем сначала:
Есть формула: y=1*3*5*...*(2n-1), т.е. подразумевается произведение неизвестное количества нечетных чисел (определяемого числом n) с выражением (2n-1). Так? Т.е. это может быть и y=1*3*5*7*(2*7-1), и y=1*3*5*7*9*(2*9-1), и y=1*3*5*7*9*11*(2*11-1), и т.д.
Что же происходит в программе? А происходит следующее:
После определения переменных, пользователю предлагается ввести то самое неизвестное N
C++
1
2
cout << "Enter N: ";
cin >> n;
Затем в цикле выполняется произведение нечетных чисел, пока не будет достигнут заданный N
C++
1
for (i=1; i<=n; i+=2) y*=i;
После того, как все нечетные числа перемножались и результат содержаться в переменной y, выполняем умножение на последнее выражение заданной формулы, а именно перемножаем y на (2n-1) и помещаем результат в y
C++
1
y*=(2*i-1);
Можно написать и так (даже, наверное, будет более правильно):
C++
1
y*=(2*n-1);
Выводим результат работы функции на экран:
C++
1
cout << "y=" << y;
Так что здесь не соответствует заданной формуле?
ЗЫ: На проверку ввода не ссылаться, т.к. это (здесь и сейчас) не главное.
0
alderina
0 / 0 / 0
Регистрация: 20.03.2010
Сообщений: 6
23.03.2010, 20:33 #14
Cepera, да, i или n уменьшаем на 1, - мелочь, а впечатление портит.
0
23.03.2010, 20:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2010, 20:33
Привет! Вот еще темы с ответами:

Помогите решить простую задачу по C++ - Visual C++
Так получилось, но пропустил все пары по c++, а задачу решить надо... Вот она: enum K { one, two, three }; K* (*f1)(K*);

Программирование циклического вычислительного процесса С++ - C++
#include&quot;iostream&quot; #include&quot;math.h&quot; using namespace std; int main() { int n; double y;

Программирование циклического вычислительного процесса - C++
Напишите пожалуйста программу на С++ Условие звучит так: &quot;Определение количества цифр, в записи целого числа, больше 3 и меньше...

Программирование циклического вычислительного процесса - C++
Даже представить не могу, как это можно реализовать средствами С++(вот такой вот я чайник). Хотя бы дайте алгоритм действий или натолкните...


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

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

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