Форум: Форум C++Разное
Новые темы: 00
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: for вложенный в for....
 
 автор: 61.masquit   (04.03.2009 в 23:04)   письмо автору
 
 

короче как будет работать это
for(;;)
for(;;)
? у них прогон одновременно идёт или поочереди?вобщем ломал голову над сортировкой массива... вот сам набрал это

#include <conio.h>
#include <stdio.h>
void main()
{
char a[10];
int i,j,temp;
gets(a);
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if (a[i] < a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
printf("%c",a[i]);

}
getch();
} не пойму как спаренные форы работают и ваше что в этой сортировке не ТАК?....

  Ответить  
 
 автор: 61.masquit   (04.03.2009 в 23:14)   письмо автору
 
   для: 61.masquit   (04.03.2009 в 23:04)
 

ОЙ! вот доеал надо было просто добавить это но всётаки как форы работают и почему последний фор стал работать с отсортированным массивом а не с первоначальным? ПОМОГИТЕ пожалуйста.СПАСИБО!
вот конечный код :

#include <conio.h>
#include <stdio.h>
void main()
{
char a[10];
int i,j,temp;
gets(a);
for(i=0;i<5;i++)
for(j=0;j<5;j++)

if (a[i] < a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
for(i=0;i<5;i++)
printf("%c",a[i]);
getch();
}

  Ответить  
 
 автор: GeorgeIV   (05.03.2009 в 09:56)   письмо автору
 
   для: 61.masquit   (04.03.2009 в 23:14)
 

сначала выпоняется вложенный фор, j пробегают о 0 до 4 при i = 0. затем внешний фор переходит на следующую итерацию и снова начинает выпоняться внутренний фор с j от 0 до 4 при i=1 и т д

Чтобы было самому понятнее, лучше оформялть явно

for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{

if (a[i] < a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
} // if

} // внутренний фор

}// внешний фор

  Ответить  
 
 автор: 61.masquit   (05.03.2009 в 16:13)   письмо автору
 
   для: GeorgeIV   (05.03.2009 в 09:56)
 

Да спасибо..я понял... для наглядности вот такой код всё объясняет:
#include <conio.h>
#include <stdio.h>
void main()
{
int i=4,j=4;
{
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("\n i=%d j=%d",i,j);
}}
printf(" i=%d j=%d",i,j);
getch();
}

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования