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

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

Войти
Регистрация
Восстановить пароль
 
paserge
-3 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 42
#1

Вложенные циклы и необъявленные идентификаторы - C++

29.01.2013, 13:37. Просмотров 620. Ответов 10
Метки нет (Все метки)

есть часть кода:
C++
1
2
3
4
5
6
7
8
9
10
11
for(int a=0; a<3;a++)
if (a=0) int b=1;
else if (a=1) int b=2;
else if (a=2) int b=3;
 
for(int c=0; c<3;c++)
if (c=0) int d=1;
else if (c=1) int d=2;
else if (c=2) int d=3;
 
cout<<b<<","<<d<<endl;
при проверке обязательно напишет: ошибка не объявленные идентификаторы
но ведь они же объявлены, с кавычками все в порядке.
как обойти этот маразм с объявлением идентификаторов.

если сделать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for(int a=0; a<3;a++)
if (a=0) {int b=1;
cout<<b<<",";}
if (a=1){ int b=2;
cout<<b<<",";}
if (a=2) {int b=3;
cout<<b<<",";}
 
for(int c=0; c<3;c++)
if (c=0){ int d=1;
cout<<d<<endl;}
if (c=1){ int d=2;
cout<<d<<endl;}
if (c=2) {int d=3;
cout<<d<<endl;}
то программа заработает, но не так как мне надо, ведь мне надо получить строчки из двух переменных, а программа перейдя во вторую часть цикла будет выдавать мне по одной переменной d.
Я умышленно упростил вопрос в моей программе 23 вложенных цикла куча массивов и немеряно переменных.
не будьте сильно строги я неделю тока си изучаю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2013, 13:37     Вложенные циклы и необъявленные идентификаторы
Посмотрите здесь:

Ошибка: Необъявленные идентификаторы - C++
ошибку выдает: q1,q2 не объявленные идентификаторы? но они же объявлены) думаю, наверное, надо вначале как-нибудь объявить. но как, если...

вложенные циклы - C++
вывод на экран натуральных чисел лежащих в интервале и делящихся нацело на 5

Вложенные циклы - C++
как вывести на зкран следуюшие 41 42 ... 50 51 52 ... 60 61 62 ... 70 71 72 ... 80 с помошью вложенний цикл... Так...

Вложенные циклы - C++
Всем привет! Суть проблемы в следующем: вычисляется функция R, где внешний цикл по l, внутренний по w. Затем вычисляем функцию...

Вложенные циклы - C++
Объясните новичку, в чем разница? Дело в том, что если записывать вложенный цикл в фигурные скобки: for(int d=0; d&lt;y; d++){ ...

Вложенные циклы - C++
я новичок и плохо пока в этом шарю, поэтому прошу помощи. Нужно решить вот это задание на Borland C ++ с использованием вложенных циклов ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
x404
1 / 1 / 1
Регистрация: 27.05.2011
Сообщений: 23
29.01.2013, 13:57     Вложенные циклы и необъявленные идентификаторы #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
int b,d=0;
for(int a=0; a<3;a++)
if (a=0) int b=1;
else if (a=1) b=2;
else if (a=2) b=3;
 
for(int c=0; c<3;c++)
if (c=0) int d=1;
else if (c=1) d=2;
else if (c=2) d=3;
 
cout<< b <<","<< d <<endl;
0x10
29.01.2013, 14:00
  #3

Не по теме:

Цитата Сообщение от paserge Посмотреть сообщение
в моей программе 23 вложенных цикла
Хочется взять и переписать с нуля.

Байт
Эксперт C
15684 / 10011 / 1504
Регистрация: 24.12.2010
Сообщений: 18,815
29.01.2013, 14:27     Вложенные циклы и необъявленные идентификаторы #4
paserge,
C
1
2
if (a=0) {int b=1;
cout<<b<<",";}
Твой int b определен только между фигурными скобочками (в стеке). При выходе за них компилятор его уже не видит (стек сбрасывается).
paserge
-3 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 42
29.01.2013, 15:44  [ТС]     Вложенные циклы и необъявленные идентификаторы #5
}[/CPP]

Добавлено через 58 минут
Цитата Сообщение от x404 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
int b,d=0;
for(int a=0; a<3;a++)
if (a=0) int b=1;
else if (a=1) b=2;
else if (a=2) b=3;
 
for(int c=0; c<3;c++)
if (c=0) int d=1;
else if (c=1) d=2;
else if (c=2) d=3;
 
cout<< b <<","<< d <<endl;
если до начала цикла определить переменные присвоив им (0) то в конце при выведение на консоль получим списки в котором куча нулей приблизительно так: 1,0,0,0,0,0,0,0,0,0 и в следующей строке 2,0,0,0,0,0,0,0,0,0,0,0,0

причина в том что переменные b ,d до цикла и b,d внутри цикла это разные переменные.
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
29.01.2013, 16:24     Вложенные циклы и необъявленные идентификаторы #6
Я один заметил, что он присваивает в if?
x404
1 / 1 / 1
Регистрация: 27.05.2011
Сообщений: 23
29.01.2013, 16:27     Вложенные циклы и необъявленные идентификаторы #7
Уважаемый, скиньте полный код программы.
И скажите четко, чего вы хотите? что не работает итд.
Nikcharn
71 / 53 / 3
Регистрация: 31.07.2009
Сообщений: 149
29.01.2013, 16:51     Вложенные циклы и необъявленные идентификаторы #8
Цитата Сообщение от Kgfq Посмотреть сообщение
Я один заметил, что он присваивает в if?
Нет, мне это тоже сразу на глаза бросилось, вообще это частая ошибка, а уж если допустил случайно фиг найдешь потом.
paserge
-3 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 42
29.01.2013, 17:06  [ТС]     Вложенные циклы и необъявленные идентификаторы #9
это полный код
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <iostream>;
using namespace std;
int main ()
{int x=1; 
 
int z[] = {28,29,30,31,32,33,39,40,41,42,43,44,45,46,51,52,53,54,55,56,57,
58,63,64,65,66,67,68,69,70,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,99,100,
101,102,103,104,105,112,113};
    for (int aa=0;aa<55;aa++) { int a1=z[aa], a2=z[aa]+11,a3=z[aa]+12,a4=z[aa]+13,a5=z[aa]+24;
    for (int bb=0;bb<55;bb++) { 
    for (int bbb=0;bbb<2;bbb++){
        if(bbb==0)int b1=z[bb], b2=z[bb]+1,b3=z[bb]+2,b4=z[bb]+3,b5=z[bb]+4;    
        else if (bbb==1) int b1=z[bb], b2=z[bb]+12,b3=z[bb]+24,b4=z[bb]+36,b5=z[bb]+48;
    for (int dd=0;dd<55;dd++) {
    for (int ddd=0;ddd<4;ddd++){
        if(ddd==0)  int d1=z[dd], d2=z[dd]+1,d3=z[dd]+2,d4=z[dd]+12,d5=z[dd]+14;
        else if (ddd==1) int d1=z[dd], d2=z[dd]+1,d3=z[dd]+12,d4=z[dd]+24,d5=z[dd]+25;
        else if (ddd==2) int d1=z[dd], d2=z[dd]+1,d3=z[dd]+13,d4=z[dd]+24,d5=z[dd]+25;
        else if (ddd==3)  int d1=z[dd], d2=z[dd]+2,d3=z[dd]+12,d4=z[dd]+13,d5=z[dd]+14;
    for (int ee=0;ee<55;ee++){ 
    for (int eee=0;eee<4;eee++){
        if(eee==0)  int e1=z[ee], e2=z[ee]+1,e3=z[ee]+2,e4=z[ee]+12,e5=z[ee]+24;
        else if (eee==1)  int e1=z[ee], e2=z[ee]+1,e3=z[ee]+2,e4=z[ee]+14,e5=z[ee]+26;      
        else if (eee==2) int e1=z[ee], e2=z[ee]+12,e3=z[ee]+22,e4=z[ee]+23,e5=z[ee]+24;
        else if (eee==3)  int e1=z[ee], e2=z[ee]+12,e3=z[ee]+24,e4=z[ee]+25,e5=z[ee]+26;
    for (int ff=0;ff<55;ff++) { 
    for (int fff=0;fff<4;fff++){
        if(fff==0)  int f1=z[ff], f2=z[ff]+1,f3=z[ff]+13,f4=z[ff]+14,f5=z[ff]+26; 
        else if (fff==1)  int f1=z[ff], f2=z[ff]+1,f3=z[ff]+11,f4=z[ff]+12,f5=z[ff]+23;
        else if (fff==2)  int f1=z[ff], f2=z[ff]+11,f3=z[ff]+12,f4=z[ff]+22,f5=z[ff]+23;
        else if (fff==3)  int f1=z[ff], f2=z[ff]+12,f3=z[ff]+13,f4=z[ff]+25,f5=z[ff]+26;
    for (int gg=0;gg<55;gg++) { 
    for (int ggg=0;ggg<4;ggg++){
        if(ggg==0)  int g1=z[gg], g2=z[gg]+1,g3=z[gg]+12,g4=z[gg]+23,g5=z[gg]+24;
        else if (ggg==1)  int g1=z[gg], g2=z[gg]+1,g3=z[gg]+13,g4=z[gg]+25,g5=z[gg]+26;
        else if (ggg==2)  int g1=z[gg], g2=z[gg]+10,g3=z[gg]+11,g4=z[gg]+12,g5=z[gg]+22;
        else if (ggg==3) int g1=z[gg], g2=z[gg]+12,g3=z[gg]+13,g4=z[gg]+14,g5=z[gg]+26;
    for (int hh=0;hh<55;hh++) { 
    for (int hhh=0;hhh<8;hhh++){
        if(hhh==0)  int h1=z[hh], h2=z[hh]+1,h3=z[hh]+2,h4=z[hh]+13,h5=z[hh]+25;
        else if (hhh==1) int h1=z[hh], h2=z[hh]+10,h3=z[hh]+11,h4=z[hh]+12,h5=z[hh]+24;
        else if (hhh==2)  int h1=z[hh], h2=z[hh]+12,h3=z[hh]+13,h4=z[hh]+14,h5=z[hh]+24;
        else if (hhh==3)  int h1=z[hh], h2=z[hh]+12,h3=z[hh]+23,h4=z[hh]+24,h5=z[hh]+25;
    for (int kk=0;kk<55;kk++) { 
    for (int kkk=0;kkk<8;kkk++){
        if(kkk==0)  int k1=z[kk], k2=z[kk]+1,k3=z[kk]+2,k4=z[kk]+12,k5=z[kk]+13;
        else if (kkk==1)  int k1=z[kk], k2=z[kk]+1,k3=z[kk]+2,k4=z[kk]+13,k5=z[kk]+14;
        else if (kkk==2)  int k1=z[kk], k2=z[kk]+1,k3=z[kk]+11,k4=z[kk]+12,k5=z[kk]+13;
        else if (kkk==3)  int k1=z[kk], k2=z[kk]+1,k3=z[kk]+12,k4=z[kk]+13,k5=z[kk]+14;
        else if (kkk==4)  int k1=z[kk], k2=z[kk]+1,k3=z[kk]+12,k4=z[kk]+13,k5=z[kk]+24;
        else if (kkk==5)  int k1=z[kk], k2=z[kk]+1,k3=z[kk]+12,k4=z[kk]+13,k5=z[kk]+25;
        else if (kkk==6)  int k1=z[kk], k2=z[kk]+11,k3=z[kk]+12,k4=z[kk]+23,k5=z[kk]+24; 
        else if (kkk==7)  int k1=z[kk], k2=z[kk]+12,k3=z[kk]+13,k4=z[kk]+24,k5=z[kk]+25;
    for (int mm=0;mm<55;mm++) { 
    for (int mmm=0;mmm<8;mmm++){
        if(mmm==0)  int m1=z[mm], m2=z[mm]+1,m3=z[mm]+11,m4=z[mm]+12,m5=z[mm]+24; 
        else if (mmm==1) int m1=z[mm], m2=z[mm]+1,m3=z[mm]+13,m4=z[mm]+14,m5=z[mm]+25;
        else if (mmm==2)  int m1=z[mm], m2=z[mm]+10,m3=z[mm]+11,m4=z[mm]+12,m5=z[mm]+23;
        else if (mmm==3)  int m1=z[mm], m2=z[mm]+11,m3=z[mm]+12,m4=z[mm]+13,m5=z[mm]+23;
        else if (mmm==4)  int m1=z[mm], m2=z[mm]+11,m3=z[mm]+12,m4=z[mm]+13,m5=z[mm]+25;
        else if (mmm==5)  int m1=z[mm], m2=z[mm]+11,m3=z[mm]+12,m4=z[mm]+24,m5=z[mm]+25;
        else if (mmm==6)  int m1=z[mm], m2=z[mm]+12,m3=z[mm]+13,m4=z[mm]+14,m5=z[mm]+25;
        else if (mmm==7)  int m1=z[mm], m2=z[mm]+12,m3=z[mm]+13,m4=z[mm]+23,m5=z[mm]+24;
    for (int nn=0;nn<55;nn++) { 
    for (int nnn=0;nnn<8;nnn++){
        if(nnn==0)  int n1=z[nn], n2=z[nn]+1,n3=z[nn]+2,n4=z[nn]+3,n5=z[nn]+12;
        else if (nnn==1)  int n1=z[nn], n2=z[nn]+1,n3=z[nn]+2,n4=z[nn]+3,n5=z[nn]+15;
        else if (nnn==2)  int n1=z[nn], n2=z[nn]+9,n3=z[nn]+10,n4=z[nn]+11,n5=z[nn]+12;
        else if (nnn==3)  int n1=z[nn], n2=z[nn]+12,n3=z[nn]+13,n4=z[nn]+14,n5=z[nn]+15;
        else if (nnn==4)  int n1=z[nn], n2=z[nn]+1,n3=z[nn]+12,n4=z[nn]+24,n5=z[nn]+36;
        else if (nnn==5)  int n1=z[nn], n2=z[nn]+1,n3=z[nn]+13,n4=z[nn]+25,n5=z[nn]+37;
        else if (nnn==6)  int n1=z[nn], n2=z[nn]+12,n3=z[nn]+24,n4=z[nn]+35,n5=z[nn]+36;
        else if (nnn==7)  int n1=z[nn], n2=z[nn]+12,n3=z[nn]+24,n4=z[nn]+36,n5=z[nn]+37;
    for (int pp=0;pp<55;pp++) { 
    for (int ppp=0;ppp<8;ppp++){
        if(ppp==0)  int p1=z[pp], p2=z[pp]+1,p3=z[pp]+2,p4=z[pp]+3,p5=z[pp]+13;
        else if (ppp==1)  int p1=z[pp], p2=z[pp]+1,p3=z[pp]+2,p4=z[pp]+3,p5=z[pp]+14;
        else if (ppp==2)  int p1=z[pp], p2=z[pp]+10,p3=z[pp]+11,p4=z[pp]+12,p5=z[pp]+13;
        else if (ppp==3)  int p1=z[pp], p2=z[pp]+11,p3=z[pp]+12,p4=z[pp]+13,p5=z[pp]+14;
        else if (ppp==4)  int p1=z[pp], p2=z[pp]+11,p3=z[pp]+12,p4=z[pp]+24,p5=z[pp]+36;
        else if (ppp==5)  int p1=z[pp], p2=z[pp]+12,p3=z[pp]+13,p4=z[pp]+24,p5=z[pp]+36;
        else if (ppp==6)  int p1=z[pp], p2=z[pp]+12,p3=z[pp]+23,p4=z[pp]+24,p5=z[pp]+36;
        else if (ppp==7)  int p1=z[pp], p2=z[pp]+12,p3=z[pp]+24,p4=z[pp]+25,p5=z[pp]+36;
    for (int rr=0;rr<55;rr++) { 
    for (int rrr=0;rrr<8;rrr++){
        if(rrr==0)  int r1=z[rr], r2=z[rr]+1,r3=z[rr]+2,r4=z[rr]+11,r5=z[rr]+12;
        else if (rrr==1)  int r1=z[rr], r2=z[rr]+1,r3=z[rr]+2,r4=z[rr]+14,r5=z[rr]+15;
        else if (rrr==2)  int r1=z[rr], r2=z[rr]+1,r3=z[rr]+10,r4=z[rr]+11,r5=z[rr]+12;
        else if (rrr==3)  int r1=z[rr], r2=z[rr]+1,r3=z[rr]+13,r4=z[rr]+14,r5=z[rr]+15;
        else if (rrr==4)  int r1=z[rr], r2=z[rr]+11,r3=z[rr]+12,r4=z[rr]+23,r5=z[rr]+35;
        else if (rrr==5)  int r1=z[rr], r2=z[rr]+12,r3=z[rr]+13,r4=z[rr]+25,r5=z[rr]+37;
        else if (rrr==6)  int r1=z[rr], r2=z[rr]+12,r3=z[rr]+23,r4=z[rr]+24,r5=z[rr]+35;
        else if (rrr==7)  int r1=z[rr], r2=z[rr]+12,r3=z[rr]+24,r4=z[rr]+25,r5=z[rr]+37;
        cout
        <<a1<<","<<a2<<","<<a3<<","<<a4<<","<<a5<<","<<b1<<","<<b2<<","<<b3<<","<<b4<<","<<b5<<","
        <<d1<<","<<d2<<","<<d3<<","<<d4<<","<<d5<<","<<e1<<","<<e2<<","<<e3<<","<<e4<<","<<e5<<","
        <<f1<<","<<f2<<","<<f3<<","<<f4<<","<<f5<<","<<g1<<","<<g2<<","<<g3<<","<<g4<<","<<g5<<","
        <<h1<<","<<h2<<","<<h3<<","<<h4<<","<<h5<<","<<k1<<","<<k2<<","<<k3<<","<<k4<<","<<k5<<","
        <<m1<<","<<m2<<","<<m3<<","<<m4<<","<<m5<<","<<n1<<","<<n2<<","<<n3<<","<<n4<<","<<n5<<","
        <<p1<<","<<p2<<","<<p3<<","<<p4<<","<<p5<<","<<r1<<","<<r2<<","<<r3<<","<<r4<<","<<r5<<","
        <<x++<<endl;}
        
    }}}}}}}}}}}}}}}}}}}}}}
 
    cin.get();
    }
Добавлено через 3 минуты
Дело в том что если использовать for то все будет работать но как без if организовать столь сложный цикл.

Добавлено через 8 минут
Цитата Сообщение от Kgfq Посмотреть сообщение
Я один заметил, что он присваивает в if?
то есть если определить переменные перед if внутри for то должно работать?
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
29.01.2013, 19:22     Вложенные циклы и необъявленные идентификаторы #10
paserge, то есть если писать if(a = b) то это не "если а равно б то...", а "а присвоить б, если б не равно нулю то..."

Добавлено через 26 секунд
paserge, у вас не код, а треш. Советую переписать. С нуля.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2013, 00:45     Вложенные циклы и необъявленные идентификаторы
Еще ссылки по теме:

Вложенные циклы - C++
Всем привет. Изучаю С++ совсем недавно - по книге. Собсно вопрос. В главе о циклах в книге приведен пример - использование вложенного...

Вложенные циклы С++ - C++
вывести на экран числа в виде таблицы 6 6 6 6 6 7 7 7 7 8 8 8 9 9 10

вложенные циклы - C++
Вычислить сумму n членов выр-я: pow(-1, i+1)/pow(i+1, 2) , i=1,2,3,...n. Помогите пожалуйста с решением задачи

Вложенные циклы for - C++
По учебной необходимости приступил к изучению C++, ранее пользовался только паскалем, и то это было давно и неправда не могу понять,...


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

Или воспользуйтесь поиском по форуму:
paserge
-3 / 0 / 0
Регистрация: 16.01.2013
Сообщений: 42
30.01.2013, 00:45  [ТС]     Вложенные циклы и необъявленные идентификаторы #11
а ведь я реально ошибся когда поставил в if (==) надо ведь было (=)

Добавлено через 23 минуты
мозги кипят буду переписывать весь код по новой
Yandex
Объявления
30.01.2013, 00:45     Вложенные циклы и необъявленные идентификаторы
Ответ Создать тему
Опции темы

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