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

Вынесение цикла в отдельную функцию и ее вызов - C++

Восстановить пароль Регистрация
 
JustBear
 Аватар для JustBear
5 / 5 / 0
Регистрация: 01.03.2013
Сообщений: 160
17.12.2013, 07:55     Вынесение цикла в отдельную функцию и ее вызов #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
35
36
37
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <windows.h>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    double  y, x1, x2, shag;
    cout<<"Vvedite diapazon ot x1: ";
    cin>>x1;
    cout<<endl;
    cout<<"Do x2: ";
    cin>>x2;
    cout<<endl;
    cout<<"Ukazhite shag perehoda: ";
    cin>>shag;
    cout<<endl;
    /////////////////
    
    cout<<"_____x_____|_____y_____"<<endl;
    cout<<"           |           "<<endl;
    //////////////// Таблица. Не надо ее пихать в функцию!!!!
    
    for(double i=x1; i<=x2; i+shag)
    {
        y=pow(i,2)*pow(sin(i),2)+1;
        ///Все считается в радианах. 
        cout<<"     "<<i<<"\t"<<"   | "<<y<<endl;
        i++;        
    };
    cout<<endl;
    cout<<" Y = Radian"<<endl<<endl;
    system("pause");
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 07:55     Вынесение цикла в отдельную функцию и ее вызов
Посмотрите здесь:

сделать отдельную функцию ввода из файла и вывод по плотности населения C++
C++ Вынесение кода в отдельный файл.
Оформить в отдельную функцию C++
Здравствуйте, подскажите пожалуйста, где я допустил ошибку(При вынесении кода в отдельную функцию, выдает ошибки) C++
Транспонирование матриц. Вынести часть кода в отдельную функцию C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sonyk91
 Аватар для Sonyk91
103 / 103 / 4
Регистрация: 01.10.2012
Сообщений: 1,794
17.12.2013, 08:00     Вынесение цикла в отдельную функцию и ее вызов #2
JustBear,
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
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <windows.h>
 
using namespace std;
 
void function(double x1, double x2, double shag ){
    double  y;
    for(double i=x1; i<=x2; i+shag)
    {
        y=pow(i,2)*pow(sin(i),2)+1;
        ///Все считается в радианах. 
        cout<<"     "<<i<<"\t"<<"   | "<<y<<endl;
        i++;        
    };
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    double  x1, x2, shag;
    cout<<"Vvedite diapazon ot x1: ";
    cin>>x1;
    cout<<endl;
    cout<<"Do x2: ";
    cin>>x2;
    cout<<endl;
    cout<<"Ukazhite shag perehoda: ";
    cin>>shag;
    cout<<endl;
    /////////////////
    
    cout<<"_____x_____|_____y_____"<<endl;
    cout<<"           |           "<<endl;
    //////////////// Таблица. Не надо ее пихать в функцию!!!!
    // Вызываем функцию
    function(x1, x2, shag);
    cout<<endl;
    cout<<" Y = Radian"<<endl<<endl;
    system("pause");
        return 0;
}
JustBear
 Аватар для JustBear
5 / 5 / 0
Регистрация: 01.03.2013
Сообщений: 160
17.12.2013, 08:26  [ТС]     Вынесение цикла в отдельную функцию и ее вызов #3
Sonyk91, спасибо! Мда.. ну почему я такой невнимательный... Делал же почти так же.

Добавлено через 7 минут
Sonyk91, слушай, а формулу по переводу Радиан в градусы знаешь?)
Sonyk91
 Аватар для Sonyk91
103 / 103 / 4
Регистрация: 01.10.2012
Сообщений: 1,794
17.12.2013, 08:32     Вынесение цикла в отдельную функцию и ее вызов #4
JustBear,
Rad := Grad * Pi / 180; - перевод градусов (Grad) в радианы (Rad)
Grad := Rad * 180 / Pi; - обратный перевод
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
17.12.2013, 08:35     Вынесение цикла в отдельную функцию и ее вызов #5
http://www.cyberforum.ru/cgi-bin/latex.cgi?2*\pi радиан равны 360 градусам. Отсюда пропорция: http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{r}{2*\pi}=\frac{g}{360}, где r - радианы, g - градусы. Из неё: http://www.cyberforum.ru/cgi-bin/latex.cgi?r=\frac{2*\pi*g}{360}, http://www.cyberforum.ru/cgi-bin/latex.cgi?g=\frac{r*360}{2*\pi}. Можно сократить: http://www.cyberforum.ru/cgi-bin/latex.cgi?r=\frac{\pi*g}{180}, http://www.cyberforum.ru/cgi-bin/latex.cgi?g=\frac{r*180}{\pi}.
JustBear
 Аватар для JustBear
5 / 5 / 0
Регистрация: 01.03.2013
Сообщений: 160
17.12.2013, 09:48  [ТС]     Вынесение цикла в отдельную функцию и ее вызов #6
Sonyk91, taras atavin, у меня еще возник вопрос: в MVS 2010 Express все ок компилится. А в 2012 орет на cout, хотя все подключил. В чем проблема? Библиотеки stdafx, iostream. Даже прописал using namespace std, чтобы не писать везде std. Но все равно - там проблема, а в 2010 все хорошо.
Ev_Hyper
 Аватар для Ev_Hyper
1805 / 1626 / 435
Регистрация: 15.12.2013
Сообщений: 5,774
17.12.2013, 09:52     Вынесение цикла в отдельную функцию и ее вызов #7
Код выше компилируется в VS2012, проверял. Так, что, наверное, где-то просто опечатка. И ошибку какую выдает?
JustBear
 Аватар для JustBear
5 / 5 / 0
Регистрация: 01.03.2013
Сообщений: 160
17.12.2013, 09:56  [ТС]     Вынесение цикла в отдельную функцию и ее вызов #8
Ev_Hyper, сейчас скрин кину
JustBear
 Аватар для JustBear
5 / 5 / 0
Регистрация: 01.03.2013
Сообщений: 160
17.12.2013, 09:59  [ТС]     Вынесение цикла в отдельную функцию и ее вызов #9
Ev_Hyper,
Миниатюры
Вынесение цикла в отдельную функцию и ее вызов  
Ev_Hyper
 Аватар для Ev_Hyper
1805 / 1626 / 435
Регистрация: 15.12.2013
Сообщений: 5,774
17.12.2013, 10:06     Вынесение цикла в отдельную функцию и ее вызов #10
Это не тот код, который я запускал. Можете скинуть и его?

И попробуйте изменить int main() на

int _tmain(int argc, _TCHAR* argv[])
JustBear
 Аватар для JustBear
5 / 5 / 0
Регистрация: 01.03.2013
Сообщений: 160
17.12.2013, 10:22  [ТС]     Вынесение цикла в отдельную функцию и ее вызов #11
Ev_Hyper,

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
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <windows.h>
using namespace std;
 
void function(double x1, double x2, double shag )
{
    double  y;
    for(double i=x1; i<=x2; i=i+shag)
    {
        y=pow(i,2)*pow(sin(i),2)+1;
        cout<<"     "<<i<<"\t"<<"   | "<<y<<endl;
    };
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    double  y, x1, x2, shag;
    cout<<"Vvedite diapazon ot x1: ";
    cin>>x1;
    cout<<endl;
    cout<<"Do x2: ";
    cin>>x2;
    cout<<endl;
    cout<<"Ukazhite shag perehoda: ";
    cin>>shag;
    cout<<endl;
    cout<<"_____x_____|_____y_____"<<endl;
    cout<<"           |           "<<endl;
    function(x1, x2, shag);
    cout<<endl;
    cout<<" Y = Radian"<<endl<<endl;
    system("pause");
    return 0;
}
Миниатюры
Вынесение цикла в отдельную функцию и ее вызов  
Ev_Hyper
 Аватар для Ev_Hyper
1805 / 1626 / 435
Регистрация: 15.12.2013
Сообщений: 5,774
17.12.2013, 10:33     Вынесение цикла в отдельную функцию и ее вызов #12
У меня и этот код запустился без ошибок, хотя ";" в 14 строчке явно лишняя.


Попробуйте пересоздать проект.

Добавлено через 3 минуты
Только при создании уберите галочку напротив "Предварительно скомпилированный заголовок"
JustBear
 Аватар для JustBear
5 / 5 / 0
Регистрация: 01.03.2013
Сообщений: 160
17.12.2013, 10:36  [ТС]     Вынесение цикла в отдельную функцию и ее вызов #13
Ev_Hyper, а у меня орет и я хз, что ему надо.
Эту проверку на 0 можно считать правильной?

b - int
C++
1
2
3
4
5
6
7
8
9
10
11
while(true)
    {
    cout<<"Enter B: ";
    cin>>b;
    if(b=0)
    {
            cout<<"LOL. b=0! Try again "<<endl;
    }
    else
    {break;}
    }
Ev_Hyper
 Аватар для Ev_Hyper
1805 / 1626 / 435
Регистрация: 15.12.2013
Сообщений: 5,774
17.12.2013, 10:38     Вынесение цикла в отдельную функцию и ее вызов #14
Нет, нужно вот так:
if(b==0){...}
Цитата Сообщение от JustBear Посмотреть сообщение
а у меня орет и я хз, что ему надо
Попробуйте пересоздать проект, Только уберите галочку напротив "Предварительно скомпилированный заголовок".
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2013, 10:43     Вынесение цикла в отдельную функцию и ее вызов
Еще ссылки по теме:

Описать отдельную функцию проверки, упорядочены ли элементы заданного массива по возрастанию C++
Как создать отдельную функцию для каждого объекта класса C++
Процедуру для численного(так же аналитического) дифференцирования вынести в отдельную функцию C++

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

Или воспользуйтесь поиском по форуму:
JustBear
 Аватар для JustBear
5 / 5 / 0
Регистрация: 01.03.2013
Сообщений: 160
17.12.2013, 10:43  [ТС]     Вынесение цикла в отдельную функцию и ее вызов #15
Ev_Hyper, я просто проверяю зачем-то в двух компиляторах проект. 2012 просто точно говорит, где плохо, а 2010 как бЭ "намекает".
Yandex
Объявления
17.12.2013, 10:43     Вынесение цикла в отдельную функцию и ее вызов
Ответ Создать тему
Опции темы

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