Ir ao conteúdo
  • Cadastre-se

Exercicio usando laços


Visitante

Posts recomendados

Tenho que elaborar um programa em c que realize imprima um quadrado de tamanho 21x21, intercalando ate o centro com quadrados de asteriscos e espaços, assim teremos um quadrado de asteriscos que dentro vai ter um de espaços, que dentro vai ter um asteriscos e assim vai ate ficar um asterisco central. me ajudem por favor a fazer não estou conseguindo :(

é mais ou menos igual essa imagem:

Sem título.png

Link para o comentário
Compartilhar em outros sites

#include <iostream>
#include <conio.h>
#include <locale.h>

int main(int argc, char** argv) {
  int a=21,b=0;
  
  setlocale(LC_ALL, "Portuguese");
  printf("Figura - Quadrado Intercalado\n");
  printf("------------------------------\n\n");    

while(a!=0){

  while(b!=21){

if(a%2!=0||a==1){

if(b%2==0||b==0){
  printf("* ");}

else{
  printf("  ");}}
  
else if(b%2!=1||b==0){

if(a%2==1||a==1){
  printf("* ");}}

else{
  printf("");}
  	
b++;}
  
  printf("\n");

b=0;
a--;}

    printf("\n\n\nTecle algo para continuar!");
    getch();
    return 0;
}

 

adicionado 1 minuto depois

@devair1010

 

Link para o comentário
Compartilhar em outros sites

@Luke Surfher    você está usando while, seria melhor usar o loop for .   experimente esse código aqui e veja se é isso que você precisa :

#include <stdio.h>
#include <conio.h>
#include <windows.h>
int i,j,a,b,c,d,e,f,g,h,m,n,p,q,r,s;
void gotoxy(int x, int y){
  COORD c;
  c.X = x;
  c.Y = y;
  SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}
void linha_h(int x1,int y1,int x2,int y2){
    for(i=x1;i<=x2;i++){
        gotoxy(i,y1);printf("%c",219);/*219 é espaço e 42 é asterisco*/
        Sleep(10);
    }
}
void linha_v(int x1,int y1,int x2,int y2){
    for(i=y1;i<=y2;i++){
        gotoxy(x1,i);printf("%c",219);/*219 é espaço e 42 é asterisco*/
        Sleep(10);
    }
}
int main(){
    printf("Digite  O Comprimento Horizontal De 3 Ate 79 ");
    l1:
    scanf("%d",&c);
    if(c<3||c>79){printf("So Pode Ser De 3 Ate 79 ");goto l1;}
    printf("Digite A Largura Vertical De 0 Ate 24 ");
    l2:
    scanf("%d",&f);
    if(f<0||f>24){printf("So Pode Ser De 0 Ate 24 ");goto l2;}
    h=f-1;e=h;r=f;s=c;
    n=f/3;
    p=c/2;
    q=f/2;
    system("cls");
    for(m=0;m<n;m++){
        linha_h ( a,b,c,d );
        linha_h ( a,f,c,d );
        linha_v ( a,b,e,f );
        linha_v ( c,d,g,h );
        a += 2;b += 2;f-= 2;
        c-=2;e-=2;h-=2;d+=2;
        if(e-b<1 || c-a<1){break;}
    }
    if(f/2>=1 && c/2>=1){
        gotoxy(p,q);
        printf("%c",219);/*219 é espaço e 42 é asterisco*/
    }
    gotoxy(0,21);
    getch();
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!