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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 27
#1

Не работает цикл - C++

23.02.2013, 23:46. Просмотров 1508. Ответов 43
Метки нет (Все метки)

Доброго времени суток. Только начал изучать этот язык в институте, а там уже лабы требуют, и я в ужасе пытаюсь их успевать делать)
Дали задание:
что сделал я:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream.h>
#include <math.h> 
int main(){
    int x1, x2, dx, i, a, b, c, F, x, ; //x1 - x начальное, x2 - x конечное, dx - шаг.
    cout<<("Enter x1, x2, dx, a, b, c \n");
    cin>>x1, x2, dx, a, b, c;
    for (i = x1; 1 < x2; i=i+dx);
    i=x;
    if (x<0 && b!=0) F=a*pow(x,2)+b;
    else if (x>0 && b==0) F=(x/(x-c))+5.5;
    else x/-c;
    cout<<("x= ")<<x<<endl;
    cout<<("F= ")<<F<<endl;
    return 0;
}

сделал я это на borland c++ 3.1, на ipad из под дос, оно работает, может не точно, но работает)
Придя домой перекатал это в вижал студио 2010, там немного пришлось поправить
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <math.h> 
int main(){
    using namespace std;
    double x1, x2, dx, a, b, c, F, x, i; //x1 - x начальное, x2 - x конечное, dx - шаг. 
    cout<<("Enter x1, x2, dx, a, b, c \n");
    cin>>x1, x2, dx, a, b, c;
    for (i = x1; 1 < x2; i=i+dx);
    i=x;
    if (x<0 && b!=0) F=a*pow(x,2)+b;
    else if (x>0 && b==0) F=(x/(x-c))+5.5;
    else x/-c;
    cout<<("x= ")<<x<<endl;
    cout<<("F= ")<<F<<endl;
    return 0;
}

и тут мне выдает на каждую переменную The variable '{имя}' is being used without being initialized..

Язык учу... ну недели две, вообще пока полный ноль, одну работу простейшую сделал по формуле посчитать
Сильно не бейте. Код обязательно надо под вижал делать, потому что препод ток так проверяет...
Миниатюры
Не работает цикл  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2013, 23:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не работает цикл (C++):

Не работает цикл for - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { int x; for(x=0; x&lt;10; x++); cout &lt;&lt; x &lt;&lt; &quot; &quot;; ...

Не работает цикл - C++
почему i всегда 0 ? #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main(void) { int j = 0; int n =...

Не работает цикл while() - C++
Подскажите, почему в функции Viewfull() цикл срабатывает только на половину while (m1!=m2 &amp;&amp; y1!=y2) то есть только для m1!=m2 void...

Не работает цикл while - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { setlocale (0,&quot;Ukrainian&quot;); int chcount=0; int...

Не работает цикл - C++
Не могу понять почему не работает цикл. Объясните, пожалуйста. #include &lt;iostream&gt; using namespace std; int main(int...

Не работает цикл - C++
Задание к примеру ввожу матрицу 2х2 1 2 3 4 должно выдать 4 а выдаёт 2 в чём проблема?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.02.2013, 13:24 #31
Цитата Сообщение от Darkaind Посмотреть сообщение
как сделать так чтобы мне выводило значения то?
Вам нужно что бы в одну строчку выводило F и x?
Тогда попробуйте так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <math.h> 
int main(){
    using namespace std;
    double x1, x2, dx, a, b, c, F, x, i; //x1 - x начальное, x2 - x конечное, dx - шаг. 
    cout<<"Enter x1, x2, dx, a, b, c \n";
    cin>>x1>>x2>>dx>>a>>b>>c;
    for (double i = x1; i < x2; i=i+dx)
    {
    x=i;
    if (x<0 && b!=0) F=a*pow(x,2)+b;
    else if (x>0 && b==0) F=(x/(x-c))+5.5;
    else F=x/-c;    
    cout<<"F= "<<F"   x= "<<x<<endl;
    }
    system("pause");
    return 0;
    
}
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 27
25.02.2013, 16:03  [ТС] #32
valeriikozlov,
у меня вообще ничего не выводит, ни в каком виде, я ввожу значения, ентер, и все, у меня висит для продолжения нажмите клавишу. А ваш вариант не запускается, ошибку выдает:
C++
1
cout<<"F= "<<F"   x= "<<x<<endl;
тут после <<F << надо поставить? Все равно ничего не выдает...
Миниатюры
Не работает цикл  
SatanaXIII
Супер-модератор
Эксперт С++
5609 / 2643 / 244
Регистрация: 01.11.2011
Сообщений: 6,502
Завершенные тесты: 1
25.02.2013, 16:20 #33
Цитата Сообщение от Darkaind Посмотреть сообщение
тут после <<F << надо поставить?
Надо. Перед каждым выводом чего-либо с помощью cout нужно ставить <<.
C++
1
cout<<"F= "<<F<<"   x= "<<x<<endl;
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 27
25.02.2013, 17:23  [ТС] #34
SatanaXIII,
ну у меня все равно ничего не выводится
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.02.2013, 18:18 #35
Цитата Сообщение от Darkaind Посмотреть сообщение
SatanaXIII,
ну у меня все равно ничего не выводится
Код покажите, который пробуете.
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 27
25.02.2013, 19:39  [ТС] #36
alsav22,
так оба
вариант valeriikozlov
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <math.h> 
int main(){
    using namespace std;
    double x1, x2, dx, a, b, c, F, x, i; //x1 - x начальное, x2 - x конечное, dx - шаг. 
    cout<<"Enter x1, x2, dx, a, b, c \n";
    cin>>x1>>x2>>dx>>a>>b>>c;
    for (double i = x1; i < x2; i=i+dx)
    {
    x=i;
    if (x<0 && b!=0) F=a*pow(x,2)+b;
    else if (x>0 && b==0) F=(x/(x-c))+5.5;
    else F=x/-c;    
    cout<<"F= "<<F<<"  x= "<<x<<endl;
    }
    system("pause");
    return 0;
    
}

и мой
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <math.h> 
int main(){
    using namespace std;
    double x1, x2, dx, a, b, c, F, x, i; //x1 - x начальное, x2 - x конечное, dx - шаг. 
    cout<<"Enter x1, x2, dx, a, b, c \n";
    cin>>x1>>x2>>dx>>a>>b>>c;
    for (double i = x1; i < x2; i=i+dx)
    {
    x=i;
    if (x<0 && b!=0) F=a*pow(x,2)+b;
    else if (x>0 && b==0) F=(x/(x-c))+5.5;
    else F=x/-c;    
    cout<<"x= "<<x<<endl;
    cout<<"F= "<<F<<endl;
    }
    system("pause");
    return 0;
    
}

Они в принципе ни чем не отличаются, но не выводится ни в одном, что выводится я писал выше
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.02.2013, 19:58 #37
В код не вникал. Проверил ваш. Может ввёл чушь, не знаю, но выводится. Если не выводится, то может засисит от вводимых данных. Сейчас нет времени проверить.
Миниатюры
Не работает цикл  
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.02.2013, 19:58 #38
Напишите, какие данные вводите.
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 27
25.02.2013, 22:39  [ТС] #39
alsav22,
а блин, я тормоз, простите
я через запятую вводил, если каждое значение отдельно, то все работает.
Спасибо всем за помощь!))
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.02.2013, 22:51 #40
Можно написать числа через пробел. В конце Enter.
Миниатюры
Не работает цикл  
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.02.2013, 23:00 #41
Только через знаки пунктуации не нужно, поток сломается.
Lev93
1 / 1 / 0
Регистрация: 09.02.2013
Сообщений: 51
26.02.2013, 18:25 #42
using namespace std; поставь перед главной функцией

Добавлено через 2 минуты
using namespace std; обычно ставят перед главной функцией)
alsav22
26.02.2013, 19:16
  #43

Не по теме:

Цитата Сообщение от Lev93 Посмотреть сообщение
using namespace std; поставь перед главной функцией

Добавлено через 2 минуты
using namespace std; обычно ставят перед главной функцией)
Это, как раз, не обязательно. Считается, что чем меньше глобальности, тем лучше. Тут, на форуме, часто споры возникают по поводу глобального объявления using namespace std; Например, здесь: http://www.cyberforum.ru/blogs/34326/blog275.html

Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 27
08.03.2013, 17:31  [ТС] #44
Блин, может мне кто-нибудь объяснить что значит строчка у меня в задаче
Функция F Должна принимать действительное значение, если выражение НЕ(Ац ИЛИ Вц ИЛИ Сц) не равно нулю, и целое значение в противном случае.
Я просто чет не догоняю, что это вообще значит... не, ну понятно что должно быть чет типо
C++
1
if (то что я не понимаю) F = (int)F;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2013, 17:31
Привет! Вот еще темы с ответами:

Цикл for не работает - C++
начал учить с++ дошол к циклам, написал вот такой код, а он видает только число 11, подскажите в чем проблема? #include &lt;iostream&gt; ...

Не работает цикл for - C++
Всем привет! Необходимо было написать реализацию RSA, однако возникли проблемы с циклом for: for (i=2; i&lt;=funcN; i++) if...

Цикл не работает - C++
Вот код // 2.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include...

Не работает цикл - C++
int Date::getYear() { int a; while (1) { cout&lt;&lt;&quot;Year: &quot;; cin&gt;&gt;a; if (a&gt;0||a&lt;10000) break; cout&lt;&lt;&quot;Error!&quot;&lt;&lt;endl; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.03.2013, 17:31
Ответ Создать тему
Опции темы

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