вопрос Использование двух символов:. (точка) и * (звездочка) печатают сетчатый рисунок. Сетка будет иметь l строк, c столбцов, и каждый квадратный элемент сетки будет иметь высоту и ширину, равные s.печатные последовательности символов
Кроме того, каждый элемент сетки будет иметь диагональ. Диагональ первого квадрата в первой строке сетки направлена вниз и вправо - используйте символ \ (обратная косая черта) для его печати; в то время как следующая диагональ будет направлена в верхний правый угол - используйте символ/(косая черта) для его печати. Одновременно печатайте последовательные диагонали (см. Пример ниже).
Входной
Вам дано т - количество тестовых случаев и для каждого из теста три положительных целых чисел: л - число строк, с - число столбцов в сетке и С - размер одного квадратного элемента.
Выход
Для каждого выхода тестовых случаев запрашиваемая шаблон (пожалуйста, посмотрите на пример). Используйте один разрыв строки между последовательными шаблонами.
Пример
Input:
3
3 1 2
4 4 1
2 5 2
Output:
****
*\.*
*.\*
****
*./*
*/.*
****
*\.*
*.\*
****
*********
*\*/*\*/*
*********
*/*\*/*\*
*********
*\*/*\*/*
*********
*/*\*/*\*
*********
****************
*\.*./*\.*./*\.*
*.\*/.*.\*/.*.\*
****************
*./*\.*./*\.*./*
*/.*.\*/.*.\*/.*
****************
мое решение:
#include <iostream>
using namespace std;
int main()
{
int i,j,k,l,c,s,t;
cin>>t;
k=0;
while(k<t)
{
cin>>l>>c>>s;
for(i=0;i<(s-1)*l;i++)
{
for(j=0;j<(s-1)*c;j++)
{
if(i==j)
cout<<'\';
else
{
if(i%(s-1)==0||j%(s-1)==0)
cout<<'*';
else
{
if(i+j==(s-1))
cout<<'/';
else
cout<<'.';
}
}
}
cout<<"\n";
}
k++;
}
return 0;
}
проблема дает ошибку компиляции !!! не может понять, почему?
какая ошибка компиляции? – vk239
'cout << '\';' - backspace - это escape-символ. Чтобы распечатать обратное пространство, вам нужно использовать 'cout << '\\';' – Chad