Здравствуйте rex79, Вы писали:
R>если кто может объяснить поподробнее,,,,,,,,,,,,
ну, подробно обьяснять пока что не буду, лучше я тебе код в нормалном виде представлю
#include<stdio.h>
#define ROWS 6
#define CHARS 6
main()
{
int row;
char ch;
for(row=0;row<ROWS;row++) //сначала проходит этот цикл
{
for(ch='A';ch<('A'+CHARS);ch++) //*Затем крутится этот цикл пока не закончится, затем опять выполняется внешний ,увеличивая на 1 row *//
printf("%c",ch);
printf("\n");
}
return 0;
}
#include<stdio.h>
#define ROWS 6
#define CHARS 6
main()
{
int row;
char ch;
for(row=0;row<ROWS;row++) //*сначала проходит этот цикл , выполняется 1 раз, и затем переходит на внутренний *//
{
for(ch='A';ch<('A'+CHARS);ch++) //*Затем крутится этот цикл пока не закончится, затем опять выполняется внешний ,увеличивая на 1 row *//
printf("%c",ch);
printf("\n");
}
return 0;
}
Давай разберем твой код, команду for (кол-во) команда, можно заменить на последовательное выполнение командыкол-во раз. Для данного случая это будет так:
//1-ый ряд for(ch='A';ch<('A'+CHARS);ch++)
printf("%c",ch);
printf("\n");
//2-ый ряд for(ch='A';ch<('A'+CHARS);ch++)
printf("%c",ch);
printf("\n");
//3-ий ряд for(ch='A';ch<('A'+CHARS);ch++)
printf("%c",ch);
printf("\n");
//4-ый ряд for(ch='A';ch<('A'+CHARS);ch++)
printf("%c",ch);
printf("\n");
//5-ый ряд for(ch='A';ch<('A'+CHARS);ch++)
printf("%c",ch);
printf("\n");
//6-ой ряд for(ch='A';ch<('A'+CHARS);ch++)
printf("%c",ch);
printf("\n");
Теперь можно развернуть каждый внутренний for:
//1-ый ряд
printf("%c",'A'); //первый символ
printf("%c",'B'); //второй символ
printf("%c",'C'); //третий символ
printf("%c",'D'); //четвертый символ
printf("%c",'E'); //пятый символ
printf("%c",'F'); //шестой символ
printf("\n");
(...)
//6-ой ряд
printf("%c",'A');
printf("%c",'B');
printf("%c",'C');
printf("%c",'D');
printf("%c",'E');
printf("%c",'F');
printf("\n");
Здравствуйте Юнусов Булат, Вы писали:
ЮБ>Часто еще путают ROW и COL, причем даже люди у которых с англицким вроде неслабо ЮБ>Идентификаторы меняешь на Y X — понимается легче
(а уж вектор-столбец и вектор-строка... это ваще мрак)
Здравствуйте rex79, Вы писали:
R>Привет мужики.
R>Я учусь программировать на С сам дома(собираюсь постуавть на следующий год)
R>Я тут немогу пешить проимер со вложенными циклами for- янепонимаю как они работают
R>Вот пример с книги
R>#include<stdio.h> R>#define ROWS 6 R>#define CHARS 6 R>main() R>{ R>int row; R>char ch; R>for(row=0;row<ROWS;row++) R>{ R>for(ch='A';ch<('A'+CHARS);ch++) R>printf("%c",ch); R>printf("\n"); R>} R>return 0;
R>прога выдаёт такое
R>ABCDEF R>ABCDEF R>ABCDEF R>ABCDEF R>ABCDEF R>ABCDEF
R>что и требуется......
R>НО я не понимаю как это работает....
R>если кто может объяснить поподробнее,,,,,,,,,,,,
R>большое спосибо[email]rex79 mailru.com[/email]
Мужики,Спосибо большое!!!!!!
Так значит сначало произходит внешний цикл,затем он пригает на внутренний и когда заканчиваеться он снова пригает на внешний OK?
но уменя вчастности возник вопрос с условием второго цикла ch<('A'+CHARS);
Я несовсем его понимаю
Здравствуйте rex79, Вы писали:
R>но уменя вчастности возник вопрос с условием второго цикла ch<('A'+CHARS);
... R>я непонимаю как работает условие.......
Здравствуйте George_Seryakov, Вы писали:
GS>Здравствуйте rex79, Вы писали:
R>>но уменя вчастности возник вопрос с условием второго цикла ch<('A'+CHARS); GS>... R>>я непонимаю как работает условие.......
GS>Приучайся смотреть дебаггером работающий код. Проясняет.
Да смотрел я дебагером-нихрена не понятно.......
он паказывает что проходит первый цикл,и навтором онисполняет условие,,,но непаказывает переход на перыый цикл...
Здравствуйте rex79, Вы писали:
R>>>но уменя вчастности возник вопрос с условием второго цикла ch<('A'+CHARS);
... R>>>я непонимаю как работает условие.......
GS>>Приучайся смотреть дебаггером работающий код. Проясняет.
R>Да смотрел я дебагером-нихрена не понятно.......
Но ты, я надеюсь, понимаешь, что это твоя проблема? Должно быть понятно.
Здравствуйте rex79, Вы писали: R>for(ch='A';ch<('A'+CHARS);ch++) R>я непонимаю как работает условие.......
Сначала ch присваивается 'A', дальше проверяется условие, ch < ('A' + CHARS) Которое по другому можно представить согласно таблицы кодов ASCII так: 65 < (65 + 6)
По таблице ASCII (65 + 6) == ('A' + CHARS) == G == 71(номер кода по таблице ASCII).
Дальше ch++, происходит увеличение на следующую букву и ch становится равной B == 66, и так будет chувеличиваться на 1-у(к примеру согласно таблицы ASCII)пока условие будет верно 65 < (65 + 6) или ch < ('A' + CHARS) .
Здравствуйте rex79, Вы писали:
R>Привет мужики.
R>Я учусь программировать на С сам дома(собираюсь постуавть на следующий год)
R>Я тут немогу пешить проимер со вложенными циклами for- янепонимаю как они работают
R>Вот пример с книги
R>#include<stdio.h> R>#define ROWS 6 R>#define CHARS 6 R>main() R>{ R>int row; R>char ch; R>for(row=0;row<ROWS;row++) R>{ R>for(ch='A';ch<('A'+CHARS);ch++) R>printf("%c",ch); R>printf("\n"); R>} R>return 0;
R>прога выдаёт такое
R>ABCDEF R>ABCDEF R>ABCDEF R>ABCDEF R>ABCDEF R>ABCDEF
R>что и требуется......
R>НО я не понимаю как это работает....
R>если кто может объяснить поподробнее,,,,,,,,,,,,
R>большое спосибо[email]rex79 mailru.com[/email]
Спосибо всем!!!!!!
Прогу вроде как написал
да только хотелось рекамендациибчто и где можно сделать лучше,,,
да и какие допущенны ошибки
R>да вот беда ейчас надо по заданию напечатать примерно таким образом
R>F R>FE R>FED R>FEDC R>FEDCB R>FEDCBA
R>что то не пойму ,как зто сделать,,,,, R>помогите,,
#include <iostream.h>
#include <conio.h>
const R = 7;
void main()
{
clrscr(); //очистка экрана
char ch = 'F';
for(int i=1;i<R;i++)
{
for (int j=ch;j>ch-i;j--)
cout<<char(j); // это вывод на экран
cout<<endl; //перевод каретки на новую строку
}
}
Извини, но я терпеть не могу printf().
Re[2]: Помогите со вложенными циклами!!!!!!!!!!!!
От:
Аноним
Дата:
11.05.02 12:48
Оценка:
Здравствуйте rex79, Вы писали:
R>что то не пойму ,как зто сделать,,,,, R>помогите,,
Уважаемый rex79!
Не сочтите за грубость, но вопросы, которые Вы задаете, мягко сказать, ... ну Вы поняли, да? Непонимание того, о чем Вы спрашиваете свидетельствует о полном нежелании (не исключаю, отсутствие возможности) прочитать самую тоненькую брошурку по С/С++. И раз уж Вам так все терпеливо рассказывают и расставляют по полочкам, мой Вам совет, ставьте людям оценки (это нужно нажать на 1,2 или 3 в заголовке сообщения).
Здравствуйте Аноним, Вы писали:
А>Здравствуйте rex79, Вы писали:
R>>что то не пойму ,как зто сделать,,,,, R>>помогите,,
А>Уважаемый rex79! А>Не сочтите за грубость, но вопросы, которые Вы задаете, мягко сказать, ... ну Вы поняли, да? Непонимание того, о чем Вы спрашиваете свидетельствует о полном нежелании (не исключаю, отсутствие возможности) прочитать самую тоненькую брошурку по С/С++. И раз уж Вам так все терпеливо рассказывают и расставляют по полочкам, мой Вам совет, ставьте людям оценки (это нужно нажать на 1,2 или 3 в заголовке сообщения).
вы конечно правы-я впервом топике темы написал,что учусь я дома посамоучителю,та что понимаете ,что я неочень схватываю тему
А оченки в педь буду ваставлять,коль они имеют для вас большое значение...
R>вы конечно правы-я впервом топике темы написал,что учусь я дома посамоучителю,та что понимаете ,что я неочень схватываю тему R>А оченки в педь буду ваставлять,коль они имеют для вас большое значение...
А по какому самоучителю учишься? Может тебе попалась просто плохая книга? От первой книги какую прочтешь по С++ многое зависит. А вообще-то конечно до таких вещей полезно дойти самому. Кстати, очень правильно советовали пользоваться отладчиком, в частности режимом пошагового выполнения программы. Сразу видно будет, в какой последовательности программа выполняется.
Здравствуйте Аноним, Вы писали:
А>Здравствуйте rex79, Вы писали:
R>>что то не пойму ,как зто сделать,,,,, R>>помогите,,
А>Уважаемый rex79! А>Не сочтите за грубость, но вопросы, которые Вы задаете, мягко сказать, A>... ну Вы поняли, да? Непонимание того, о чем Вы спрашиваете свидетельствует о полном нежелании (не исключаю, отсутствие возможности) прочитать самую тоненькую брошурку по С/С++.
Тут дело, наверное, не в C++. А в отсутствии алгоритмического мышления.
C++ не самый простой язык для изучения. rex79, может тебе сначала попробовать что-нибудь попроще, типа BASIC'a или Pascal'я. Выработать на них навыки составления простых алгоритмов, а уже потом переходить на C++
Re[4]: Помогите со вложенными циклами!!!!!!!!!!!!
От:
Аноним
Дата:
12.05.02 21:19
Оценка:
Здравствуйте rex79, Вы писали:
А>>Уважаемый rex79! А>>Не сочтите за грубость, но вопросы, которые Вы задаете, мягко сказать, ... ну Вы поняли, да? Непонимание того, о чем Вы спрашиваете свидетельствует о полном нежелании (не исключаю, отсутствие возможности) прочитать самую тоненькую брошюрку по С/С++. И раз уж Вам так все терпеливо рассказывают и расставляют по полочкам, мой Вам совет, ставьте людям оценки (это нужно нажать на 1,2 или 3 в заголовке сообщения).
R>вы конечно правы-я впервом топике темы написал,что учусь я дома посамоучителю,та что понимаете ,что я неочень схватываю тему R>А оченки впредь буду ваставлять,коль они имеют для вас большое значение...
Тут есть некоторое недопонимание. Оценки имеют бОльшее значение для тебя, и вот почему:
Когда "Отцы-Основатели" :) создали в форумах систему оценок (баллов, "спасибов", как угодно), они привнесли в форум дух соревновательности и конкуренции. Утверждение может показаться очень спорным, особенно тем, кому оценки действительно не нужны :), но так оно есть. А конкуренция всегда идет на пользу потребителю — тебе. Ставя оценки ты поддерживаешь этот дух, продвигая отвечающих тебе людей в Тор-е. И дело не в игре на человеческом тщеславии, просто... Повисишь в форуме подольше (а это наверное самый лучший в РуНете :super: ) поймешь о чем я.
К модераторам:
Можете стирать этот постинг к чертовой матери, просто так написал.