C++: домашнее задание, где мне нужно напечатать ромбовидный узор, используя введенное слово.
Я изо всех сил пытаюсь понять, как сделать так, чтобы второй треугольник был перевернут вверх ногами, я думаю
Я понимаю концепцию того, как это сделать (просто сделайте код обычного треугольника, но в обратном порядке), но я борюсь с выполнением. Любая помощь будет очень признательна, так как я относительно новичок в c++.
What the code prints is this: S SAS SAMAS SAMPMAS SAMPLPMAS SAMPLELPMAS S SAS SAMAS SAMPMAS SAMPLPMAS SAMPLELPMAS When it's supposed to print this: ````` S SAS SAMAS SAMPMAS SAMPLPMAS SAMPLELPMAS SAMPLPMAS SAMPMAS SAMAS SAS S
Что я уже пробовал:
#include <iostream> using namespace std; int main(){ string word; int length, i, j; cout<<"Enter a word: "; cin>>word; length=word.size(); if (word.size()>10){ length=10; } for (i=0; i<length; i++){ for (j=length-1-i; j>0; j--){ cout<<" "; } for (j=0; j<=i; j++){ cout<<word[j]; } for (j=i-1;j>=0; j--){ cout<<word[j]; } cout<<endl; } for (i=0; i<length; i++){ for (j=length-1-i; j>0; j--){ cout<<" "; } for (j=0; j<=i; j++){ cout<<word[j]; } for (j=i-1;j>=0; j--){ cout<<word[j]; } cout<<endl; } return 0; }