Ir ao conteúdo

[Exercicio] Imprimir padroes com for


Hzsiul

Posts recomendados

Postado

scaled.php?server=337&filename=semttulondq.jpg&res=landing

Link da imagem do exercicio:

http://desmond.imageshack.us/Himg337/scaled.php?server=337&filename=semttulondq.jpg&res=landing

Eu sou péssimo pra imprimir figuras geometricas com for, demorei a conseguir usar aninhados, esse exercicio ai nao faço nem ideia de como começar kkkk

se eu for fazer do jeito que eu imagino vai ficar ENORME.

então queria algumas dicas, de um método mais fácil e consizo de fazer isso.

------------------------------------------------------------------------------

Bem , o primeiro e o segundo eu consegui fazer..


#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
cout<<"Letra a:\n";
for (int x=0;x<11;++x)
{
for(int y=0;y!=x;++y)
cout<<"*";
cout<<"\n";
}

cout<<"\n";
cout<<"Letra b:\n\n";
for (int x=0;x<11;++x)
{
for(int y=11;y!=x;--y)
cout<<"*";
cout<<"\n";
}

cout<<"\n";
cout<<"Letra c:\n\n";
int op2=2;
cout<<setw(1);
for (int x=0;x<10;++x){
for (int y=11;y!=x+1;--y)
cout<<"*";
cout<<"\n";
cout<<setw(op2);
++op2;
}

cout<<"\n";
cout<<"Letra d:\n\n";
int op=9;
cout<<setw(10);
for (int x=0;x<10;++x){
for (int y=0;y!=x+1;++y)
cout<<"*";
cout<<"\n";
cout<<setw(op);
--op;
}
getchar();
return(0);
}

Postado

Bom, mesmo sem ninguem ajudar, veio a ideia de usar o setw() variando com o for pra dar os espaços e nao é que deu certo ? u.u

Agora so falta conseguir imprimir as 4 figuras uma do lado da outra.

Alguma sugestao ? :s

Postado

Pra fazer a c) e a d) é só notar que a soma do número de espaços com o número de asteriscos é a mesma, 10.

Pra imprimir tudo de uma vez, eu usaria essa ideia também.

Note que o número de asteriscos e espaços em cada linha é sempre o mesmo, 22 asteriscos e 18 espaços.

O número de asteriscos e espaços do item a) é o mesmo do item d), e o número de asteriscos e espaçosd o item a) é o mesmo do item B)

----------

Outra forma de ver, é relacionar com as linhas.

Na c), por exemplo.

Linha 1 -> 0 espaço, 10 asteriscos

Linha 2 -> 1 espaço, 9 asteriscos

Linha 3 -> 2 espaços, 8 asteriscos

...

Linha x -> (x-1) espaços, 10 - (número de espaços)

Porém, o número de espaços é 'x-1', então o número de asteriscos é: 10 -(x-1) = 11-x

x é a linha

Eu tentaria relacionar o número de asteriscos e espaços com a linha atual, sempre seguem um padrão.

A c), que você já fez, ficaria assim


#include <iostream>
using namespace std;

int main()
{
int espacos, asteriscos;
for(int linha=1 ; linha<=10 ; linha++)
{
for(espacos=0 ; espacos<linha-1 ; espacos++)
cout<<' ';

for(asteriscos=11 - linha ; asteriscos>0 ; asteriscos--)
cout<<'*';

cout<<endl;
}
}

------------------------

Pronto, fiz que mostra as 4.

Se baseia na linha.

Pra imprimir a parte do item (A)

O número de asterisco é sempre o número da linha.

O número de espaços é sempre '10-linha'

Pra imprimir a parte do item (B)

O número de asterisco é sempre '11 - linha'

O número de espaço em cada linha é 'linha -1'

Pra imprimir a parte do item ©

O número de espaço em cada linha é 'linha -1'

O número de asterisco é sempre '11 - linha'

(é o mesmo da B, mas a ordem de impressão é ao contrário)

Pra imprimir o item (D)

O número de espaços é sempre '10-linha'

O número de asterisco é sempre o número da linha.

(é o mesmo da A, mas a ordem de impressão é ao contrário)

  • Moderador
Postado

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...