Member 13474465 Ответов: 2

Задана строка char str[ ] =123456789; напишите программу, которая отображает шаблон


Дана строка
char str[ ] =123456789;
Напишите программу, которая отображает следующее:
1
2 3 2
3 4 5 4 3
4 5 6 7 6 5 4
5 6 7 8 9 8 7 6 5
в программировании на языке Си.

Что я уже пробовал:

использование вложенного цикла for и уменьшение значений после того, как он достигнет i>=n+1

ZurdoDev

Это очень грубо с вашей стороны-выкладывать домашнее задание и быть слишком ленивым, чтобы даже задать вопрос. Как вам не стыдно!

Мы бы с удовольствием помогли, вот почему мы здесь, но вам помочь нельзя.

2 Ответов

Рейтинг:
1

OriginalGriff

Мы не делаем домашнее задание: оно задано не просто так. Она существует для того, чтобы вы думали о том, что вам сказали, и пытались понять это. Он также существует для того, чтобы ваш наставник мог определить области, в которых вы слабы, и сосредоточить больше внимания на корректирующих действиях.

Попробуйте сами, возможно, вы обнаружите, что это не так сложно, как вы думаете!

Если вы столкнетесь с конкретной проблемой, то, пожалуйста, спросите об этом, и мы сделаем все возможное, чтобы помочь. Но мы не собираемся делать все это для вас!


Member 13474465

я не задаю вопросов, не попробовав, и я действительно не мог понять этого.

jeron1

Что вы пробовали?

Member 13474465

да

OriginalGriff

Ну, вы говорите, что пробовали вложенный цикл: как это выглядело, и что он сделал, чего вы не ожидали, или не сделал, что вы сделали?
Помните, что получение кода для компиляции - это только первый этап , а самое интересное приходит после этого: заставить его работать!

Member 13474465

#include < stdio.h>
тап_п()
{int n, i, j, k;
scanf ("%d",& n);
для (i=0;i< n; i++)
{for (j=i;j< n+2;j++)
{if (j< n+i)
{printf ("%d", j);
к=Дж;}
еще
printf ("%d", k--);
}
printf ("\n");
}
возвращает 0;
}

Member 13474465

я знаю,что в этом есть какая-то большая логическая ошибка, но может ли кто-нибудь помочь мне определить ее?

OriginalGriff

Если это не сработает, это часть вашей домашней работы, чтобы исправить это, а не наша! :смеяться:

Итак, посмотрите на свой код и подумайте: что делают ваши два цикла?
Внешняя петля печатает n строк, да?
Я бы использовал два внутренних цикла: Один вверх, другой вниз-попробуйте и посмотрите, насколько это упрощает код. Например: просто напишите цикл, чтобы сначала напечатать цифры, идущие вверх в каждой строке, и протестируйте его. Это работает? Когда это происходит,тьят делает больше половины задачи...

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.

Рейтинг:
1

Patrice T

Совет: Научитесь правильно делать отступы в вашем коде, это покажет его структуру и поможет чтению и пониманию.

#include <stdio.h>
int main()
{
	int n,i,j,k;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		for(j=i;j<n+2;j++)
		{
			if(j<n+i)
			{
				printf("%d",j);
				k=j;
			}
			else
				printf("%d",k--);
		}
		printf("\n");
	}
	return 0;
}

Профессиональные редакторы программистов имеют эту функцию и другие, такие как сопоставление скобок и подсветка синтаксиса.
Notepad++ Home[^]
личные[^]

-----
for(j=i;j<n+2;j++)

Я подозреваю n+2 это не правильный конец цикла.

Если вы не понимаете, почему ваш код не делает того, что вы ожидаете, используйте отладчик и посмотрите, как выполняется ваш код.

Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя отладчик Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик-Википедия, свободная энциклопедия[^]

Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010-YouTube[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.