Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 29
#1

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

23.02.2013, 23:46. Просмотров 1645. Ответов 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..

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

Не работает цикл
почему i всегда 0 ? #include &lt;conio.h&gt; #include &lt;iostream&gt; using...

Не работает цикл while
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() {...

Не работает цикл
int Date::getYear() { int a; while (1) { cout&lt;&lt;&quot;Year: &quot;; cin&gt;&gt;a;...

Не работает цикл!!!
Help!!!!! Почему не считает цикл... опять где-то ошибся #include&lt;conio.h&gt;...

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

43
Kuzia domovenok
2209 / 1978 / 441
Регистрация: 25.03.2012
Сообщений: 6,941
Записей в блоге: 1
24.02.2013, 00:53 #21
нет, но точку с запятой убрал-таки.
0
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 29
24.02.2013, 00:56  [ТС] #22
Кликните здесь для просмотра всего текста
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 x/-c;
    }
    cout<<"x= "<<x<<endl;
    cout<<"F= "<<F<<endl;
    system("pause");
    return 0;
    
}

тадааам?
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
24.02.2013, 11:25 #23
Цитата Сообщение от Darkaind Посмотреть сообщение
тадааам?
1. Чему равно F "в остальных случаях" ?
2. Эти строки:
Цитата Сообщение от Darkaind Посмотреть сообщение
C++
1
2
cout<<"x= "<<x<<endl;
 cout<<"F= "<<F<<endl;
видимо нужно выводить при всех значениях i. Но в приведенном коде выведется всего один раз (при i>=x2)
0
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 29
24.02.2013, 13:47  [ТС] #24
valeriikozlov,
да... но я не знаю как это сделать, даже идей нету
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
24.02.2013, 17:22 #25
попробуйте так:
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;
    
}
0
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 29
24.02.2013, 18:35  [ТС] #26
valeriikozlov,
а что изменилось?...
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
24.02.2013, 18:53 #27
Цитата Сообщение от Darkaind Посмотреть сообщение
а что изменилось?...
сравните два кода и увидите
0
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 29
24.02.2013, 19:43  [ТС] #28
valeriikozlov,
а скобочка перекочевала, невнимательность, невнимательность... чтож с тобой делать
теперь то код правильный?
а значение то чтоб показывало, два раза cout писать?
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
24.02.2013, 20:50 #29
Цитата Сообщение от Darkaind Посмотреть сообщение
а скобочка перекочевала, невнимательность, невнимательность... чтож с тобой делать
Не только скобочка перекочевала. Кстати она перкочевала, что бы показывать значения F при различных значениях x. А в Вашем коде выводилось последнее возможное значение F и значение x, при котором вообще F не вычислялось.
По поводу:
Цитата Сообщение от Darkaind Посмотреть сообщение
чтож с тобой делать
со мной лучше ничего не делать, попробуйте что-нибудь сделать с собой )
0
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 29
25.02.2013, 10:06  [ТС] #30
valeriikozlov,
да я про себя, чтож со свой невнимательностью делать)
а по поводу кода, я что то туплю, как сделать так чтобы мне выводило значения то?

Добавлено через 12 часов 19 минут
не, ну правда, подскажите пжлста...
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 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;
    
}
1
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 29
25.02.2013, 16:03  [ТС] #32
valeriikozlov,
у меня вообще ничего не выводит, ни в каком виде, я ввожу значения, ентер, и все, у меня висит для продолжения нажмите клавишу. А ваш вариант не запускается, ошибку выдает:
C++
1
cout<<"F= "<<F"   x= "<<x<<endl;
тут после <<F << надо поставить? Все равно ничего не выдает...
0
Миниатюры
Не работает цикл  
SatanaXIII
Супер-модератор
Эксперт С++
5765 / 2763 / 374
Регистрация: 01.11.2011
Сообщений: 6,717
Завершенные тесты: 1
25.02.2013, 16:20 #33
Цитата Сообщение от Darkaind Посмотреть сообщение
тут после <<F << надо поставить?
Надо. Перед каждым выводом чего-либо с помощью cout нужно ставить <<.
C++
1
cout<<"F= "<<F<<"   x= "<<x<<endl;
0
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 29
25.02.2013, 17:23  [ТС] #34
SatanaXIII,
ну у меня все равно ничего не выводится
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.02.2013, 18:18 #35
Цитата Сообщение от Darkaind Посмотреть сообщение
SatanaXIII,
ну у меня все равно ничего не выводится
Код покажите, который пробуете.
1
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 29
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;
    
}

Они в принципе ни чем не отличаются, но не выводится ни в одном, что выводится я писал выше
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.02.2013, 19:58 #37
В код не вникал. Проверил ваш. Может ввёл чушь, не знаю, но выводится. Если не выводится, то может засисит от вводимых данных. Сейчас нет времени проверить.
1
Миниатюры
Не работает цикл  
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.02.2013, 19:58 #38
Напишите, какие данные вводите.
1
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 29
25.02.2013, 22:39  [ТС] #39
alsav22,
а блин, я тормоз, простите
я через запятую вводил, если каждое значение отдельно, то все работает.
Спасибо всем за помощь!))
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.02.2013, 22:51 #40
Можно написать числа через пробел. В конце Enter.
1
Миниатюры
Не работает цикл  
25.02.2013, 22:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2013, 22:51
Привет! Вот еще темы с решениями:

Не работает цикл for
Всем привет! Необходимо было написать реализацию RSA, однако возникли проблемы...

Не работает цикл While
Доброе время суток! Суть программы в том, что по нажатию кнопки появляется...

Не работает цикл for
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() {...

Не работает цикл while()
Подскажите, почему в функции Viewfull() цикл срабатывает только на половину...


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

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

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