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

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

Войти
Регистрация
Восстановить пароль
 
TBIKC
web dev
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
#1

Обьявление переменных в циклах и до - C++

09.10.2010, 18:48. Просмотров 647. Ответов 6
Метки нет (Все метки)

Возник вопрос почему?
Без обьявления int x = 1; до цикла возникает ошибка при компиляции программы ...
Хотя в книжке обьявление типа и начального значения делаеться в цикле >= for (здесь)

НА скрине всё показано
Миниатюры
Обьявление переменных в циклах и до  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
09.10.2010, 19:23     Обьявление переменных в циклах и до #2
Ты дважды определяешь тип переменной х

int x = 1;

for(int x = 1; .......

надо так:
int x = 1;
for(x = 1;......

или только в цикле определять:

.............
for(int x = 1;........
TBIKC
web dev
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
09.10.2010, 19:25  [ТС]     Обьявление переменных в циклах и до #3
Цитата Сообщение от NikolaWhite Посмотреть сообщение
Ты дважды определяешь тип переменной х

int x = 1;

for(int x = 1; .......

надо так:
int x = 1;
for(x = 1;......

или только в цикле определять:

.............
for(int x = 1;........
я? нет! Синим этого в коде нету
Только в цикле определять - ошибка компилятора
Хотя в книге именно так написано
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
09.10.2010, 19:56     Обьявление переменных в циклах и до #4
TBIKC, киньте код сюда
kravam
быдлокодер
1690 / 877 / 44
Регистрация: 04.06.2008
Сообщений: 5,395
09.10.2010, 20:15     Обьявление переменных в циклах и до #5
Парень, всё дело в том, что ты объявляешь переменнную x в цикле, что допустимо. И видна эта переменная будет ИСКЛЮЧИТЕЛЬНО в этом цикле, то естЬ от одной фигурной скобки до другой, от { до }

Строчка
C++
1
cout<< endl<< Цикл прерван при x= "<< x<< endl;
Находится ВНЕ этого цикла. Поэтому и возникает ошибка

На мой взгляд, самое оптимальное решение проблемы, объявить x вне цикла
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
 
int main () {
 int x;
 for (x= 1; x<= 6; x++) {
  if (x== 5)
   break;
   cout<< x<< " ";
 }
 cout<< endl<< "Цикл прерван при x="<< x<< endl;
 return 0;
}
TBIKC
web dev
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
09.10.2010, 20:15  [ТС]     Обьявление переменных в циклах и до #6
Скрин...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <iomanip>
#include <math.h>
using  namespace std;
 
main ()
{
     setlocale(LC_ALL,"Russian");
     for (int x = 1; x <= 10; x++) {
         if (x == 5)
         break;
         cout << x << " ";
         }
     cout << endl << "Цикл прерван при х = " << x << endl;
     system("PAUSE");
     return EXIT_SUCCESS;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2010, 09:35     Обьявление переменных в циклах и до
Еще ссылки по теме:

Обьявление переменной, программа, загадывающая часло C++
Обьявление полей класа C++
Требуется обьявление C++
Обьявление и инициализация динамического двумерного массива в классе C++
Обьявление массива переменного размера C++

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

Или воспользуйтесь поиском по форуму:
^Tecktonik_KiLLeR
1158 / 440 / 22
Регистрация: 23.06.2009
Сообщений: 6,227
Завершенные тесты: 1
10.10.2010, 09:35     Обьявление переменных в циклах и до #7
Цитата Сообщение от TBIKC Посмотреть сообщение
cout << endl << "Цикл прерван при х = " << x << endl;
здесь будет ошибка потом что Х живет только здесь
Цитата Сообщение от TBIKC Посмотреть сообщение
for (int x = 1; x <= 10; x++) { if (x == 5) break; cout << x << " "; }
Yandex
Объявления
10.10.2010, 09:35     Обьявление переменных в циклах и до
Ответ Создать тему
Опции темы

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