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

Не работает цикл

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

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

Цикл for не работает
начал учить с++ дошол к циклам, написал вот такой код, а он видает только число...

Не работает цикл
почему 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;...

43
HighPredator
5679 / 1998 / 721
Регистрация: 10.12.2010
Сообщений: 5,750
Записей в блоге: 3
24.02.2013, 00:04 #2
C++
1
cin>>x1>>x2>>dx>>a>>b>>c;
Добавлено через 5 минут
Ну и командных скобок нет естественно...
1
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 29
24.02.2013, 00:08  [ТС] #3
ну видимо я вообще чтот не то написал
так?
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; i < 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;
}

потому что все равно выдает, хотя уже ток на х, но 4 раза что она не инициализирована...
0
Хулиган
85 / 80 / 21
Регистрация: 08.08.2012
Сообщений: 737
24.02.2013, 00:09 #4
Цитата Сообщение от Darkaind Посмотреть сообщение
cin>>x1, x2, dx, a, b, c;
ЗАмени на cin>>x1>>x2>>dx>>a>>b>>c;
0
Kuzia domovenok
2261 / 2030 / 459
Регистрация: 25.03.2012
Сообщений: 7,178
Записей в блоге: 1
24.02.2013, 00:10 #5
Цитата Сообщение от Darkaind Посмотреть сообщение
for (i = x1; 1 < x2; i=i+dx);
ни когда так не пиши. Т.е. никогда не ставь точку с запятой.
Сам догадайся, как исправить эту ошибку. Тут не только в точке с запятой дело.
Цитата Сообщение от Darkaind Посмотреть сообщение
else x/-c;
ты забыл F=
Цитата Сообщение от Darkaind Посмотреть сообщение
i=x;
наоборот x=i
1
alsav22
5441 / 4836 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
24.02.2013, 00:10 #6
У x нет значения.
0
OdessaNA
19 / 19 / 6
Регистрация: 10.01.2011
Сообщений: 241
24.02.2013, 00:17 #7
Блин!
Пока писал ответ - уже понаписывали! Вот шустрые!
0
alsav22
24.02.2013, 00:21
  #8

Не по теме:

Цитата Сообщение от OdessaNA Посмотреть сообщение
Блин!
Пока писал ответ - уже понаписывали! Вот шустрые! :)
Большая семья. :)

0
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 29
24.02.2013, 00:25  [ТС] #9
ээм, ни чего умнее чем
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <math.h> 
int main(){
    using namespace std;
    double x1, x2, dx, 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 (int x = x1; x < x2; x=x+dx);
    if (x1<0 && b!=0) F=a*pow(x1,2)+b;
    else if (x1>0 && b==0) F=(x1/(x1-c))+5.5;
    else F=x1/-c;
    cout<<"x= "<<x1<<endl;
    cout<<"F= "<<F<<endl;
    return 0;
}

я не придумал...)) и не понял почему нельзя x = x1; x < x2; x=x+dx (через точ.запятые писать)... и как сделать чтоб она мне результат показала, system("pause"); не работает, а ничего другого я не знаю)
чет я фигню вроде сделал...
0
HighPredator
5679 / 1998 / 721
Регистрация: 10.12.2010
Сообщений: 5,750
Записей в блоге: 3
24.02.2013, 00:29 #10
Darkaind, вы похоже не имеете ни малейшего представления о циклах. Почитайте и, возможно, осознаете почему я выше написал
Цитата Сообщение от HighPredator Посмотреть сообщение
Ну и командных скобок нет естественно...
0
Kuzia domovenok
2261 / 2030 / 459
Регистрация: 25.03.2012
Сообщений: 7,178
Записей в блоге: 1
24.02.2013, 00:31 #11
Ещё раз.
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
никогда так не пиши.
0
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 29
24.02.2013, 00:36  [ТС] #12
да блин, скобки я случайно вставляю, я копировал последнее сообщение и забывал там эту часть отредактировать)
Все, сделал, вроде работает
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#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; 1 < 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;
    
}

Если это правильно, спасибо всем кто поправлял и всячески принимал участие!)

Добавлено через 1 минуту
Kuzia domovenok,

а как надо? Я по Прата С. - Язык программирования С++. Лекции и упражнения - 2011 , там цикл так... и ту фигню что нам препод по инфе дал лабы делать, там тоже так, я других не знаю, посоветуйте что-нить
0
Kuzia domovenok
2261 / 2030 / 459
Регистрация: 25.03.2012
Сообщений: 7,178
Записей в блоге: 1
24.02.2013, 00:36 #13
да не работает это ты не читаешь мои сообщения!!!! (и не только мои)
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
for (i = x1; 1 < x2; i=i+dx);
никогда так не пиши. Т.е. никогда не ставь точку с запятой.
точку с запятой.
точку с запятой.
Цитата Сообщение от HighPredator Посмотреть сообщение
Ну и командных скобок нет естественно...
командных скобок
командных скобок

Не по теме:

HighPredator, что значит не только наши???

0
HighPredator
24.02.2013, 00:39
  #14

Не по теме:

Kuzia domovenok, не только ваши:D

0
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 29
24.02.2013, 00:43  [ТС] #15
Kuzia domovenok,
ну я не понимаю что там должно быть?
Вроде работает...
0
Миниатюры
Не работает цикл  
Kuzia domovenok
2261 / 2030 / 459
Регистрация: 25.03.2012
Сообщений: 7,178
Записей в блоге: 1
24.02.2013, 00:45 #16
Цитата Сообщение от Darkaind Посмотреть сообщение
ну я не понимаю что там должно быть?
я всё-таки надеюсь, что ты сам откроешь книгу и порадуешься своей сообразительности. Мне очень не хочется портить сюрприз, иначе давно сказал бы,

Не по теме:

хотелось бы, чтоб и форумчане не разрушали эту мистическую загадку прямым ответом, хотя...


Ещё раз: при написании цикла for обращай внимание на все знаки препинания. (которые должны быть, и которых не должно быть!)
Загляни ещё раз в литературу
1
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 29
24.02.2013, 00:48  [ТС] #17
Kuzia domovenok,
так что ли?) если да, то я слооооуууу, я думал Вы про точки с запятой внутри)
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#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
HighPredator
5679 / 1998 / 721
Регистрация: 10.12.2010
Сообщений: 5,750
Записей в блоге: 3
24.02.2013, 00:51 #18
Darkaind, так, давайте вы пойдете, матчасть изучите.
0
Kuzia domovenok
2261 / 2030 / 459
Регистрация: 25.03.2012
Сообщений: 7,178
Записей в блоге: 1
24.02.2013, 00:51 #19
ОК, теперь добавь {скобки}
0
Darkaind
0 / 0 / 0
Регистрация: 19.02.2013
Сообщений: 29
24.02.2013, 00:51  [ТС] #20
блин
0
24.02.2013, 00:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2013, 00:51

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

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

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


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

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

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