Рейтинг:
9
R!sh!
#include<stdio.h>
int main()
{
int a[9]={1,2,3,4,5,6,7,8,9};
int i,j=9,k;
while(j>0)
{
for(i=1;i<8;i++)
{
for(k=0;k<9;k++)
{
if(k!=i&&k!=j)
{
printf("%d",a[k]);
}
else
{
printf(" ");
continue;
}
}
printf("\n");
}
printf("\n");
j--;
}
return 0;
}
Patrice T
Вопрос и решение без единого предложения!
Это ваше решение или код, который не работает ?
R!sh!
наконец я это сделал. :Д
Patrice T
Итак, используйте Принять ответ (рядом с "решением 3"), чтобы сигнализировать, что оно решено, и закрыть вопрос.
Patrice T
Я вижу, что ваша программа не соответствует примеру вопроса, первая итерация не та же самая (9 на первой строке).
R!sh!
это происходит в обратном порядке.
R!sh!
не могли бы вы дать свой ответ, пожалуйста??
Рейтинг:
1
CPallini
Посмотрите на цифры, расположенные в виде квадрата
(1,1) (1,9)
\ /
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
/ \
(9,1) (9,9)
Потом на повторе
k
вы должны показать все квадратные предметы, но:
- Те, что из колонны
k
, то есть (i,k)
.
- Те, что по диагонали, то есть
(k, 10-k)
.
Рейтинг:
0
Patrice T
Цитата:
Я устал, но не понимаю логики. Пожалуйста, помогите мне.
Сначала помогите себе с методом.
Вы заметили, что
Ты не понимаешь логики:
- попробуйте нарисовать вручную желаемый результат для каждой итерации по порядку.
- попробуйте проанализировать различия между каждой итерацией и обратите внимание, что это за изменения.
К этому моменту у вас должна быть логика, иначе поговорите со своим учителем.
вы уверены насчет 9 в первой итерации ?