|
|
|
| короче как будет работать это
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: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();
} | |
|
|
|
|
|
|
|
для: 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
} // внутренний фор
}// внешний фор | |
|
|
|
|
|
|
|
для: 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();
} | |
|
|
|