Ir ao conteúdo

C Imprimir no formato desejado em C


Ir à solução Resolvido por Midori,

Posts recomendados

Postado

1 - Criar programa em C que leia um numero N e imprima N linhas na tela com o seguinte
formato (exemplo se n = 6):

Saída esperada:

+ * * * * *
* + * * * *
* * + * * *
* * * + * *
* * * * + *
* * * * * +

Solução possível

Fonte: https://sites.google.com/a/liesenberg.biz/cjogos/home/materiais-de-apoio/topicos-relativos-a-c/estruturas-basicas-de-controle/linhas-com-asteriscos

 

 #include <stdio.h>

 int main(void) {

int i, j, n, m;

 scanf("%d %d", &m, &n);

 for (i = 1; i <= m; i = i + 1)  {

 for (j = 1; j <= n; j = j + 1)

printf("*");

printf("\n");  }

return 0;  }

 

2 - Criar um programa que leia um numero N e imprima N linhas na tela com o seguinte
formato (exemplo se n = 6)

Saída esperada:

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6

 

Solução possível

Fonte: https://sites.google.com/a/liesenberg.biz/cjogos/home/materiais-de-apoio/topicos-relativos-a-c/estruturas-basicas-de-controle/triangulo-de-asteriscos

 

#include <stdio.h>

int main(void) {

int m, i, j; 

scanf("%d", &m); 

for (i = 1; i <= m; i = i + 1) 

{ 

for (j = 1; j <= i; j = j + 1)

printf('*'); 

printf('\n'); 11 } 

return 0; }

 

Eu entendo com criar a estrutura, mas não como imprimir no formato que pedi.

Alguém pode dá help para imprimir saída correta?

  • Curtir 1
  • Membro VIP
Postado

Talvez. Mas antes, pra motivar quem for te helpar,  diga o que você tentou fazer, o que você não entendeu, o que deu certo, o que deu errado e etc

 

  • Curtir 2
  • Solução
Postado

@Jose_Luiz No primeiro exercício apenas um input é necessário (n).

 

Para exibir o caractere + você pode incrementar outra variável int e comparar com o contador do loop mais interno e imprimir + se for igual e * se diferente.

 

O segundo exercício tem erro de compilação, veja as mensagens do compilador.

  • Curtir 2
Postado

@Jose_Luiz    no primeiro ,  eh comum comecar os loops a partir de zero , e dentro do lopp  j voce precisa comparar a varuavel  j com a variavel  i , e se for igual escreve o sinal + senao escreve o asterisco e depois do loop j pula para a linha de baixo .

  • Curtir 1
Postado

Obrigado, a primeira consegui, falta a segunda!!

Em 08/10/2020 às 08:46, Jose_Luiz disse:

1 - Criar programa em C que leia um numero N e imprima N linhas na tela com o seguinte
formato (exemplo se n = 6):

Saída esperada:

+ * * * * *
* + * * * *
* * + * * *
* * * + * *
* * * * + *
* * * * * +

Solução possível

Fonte: https://sites.google.com/a/liesenberg.biz/cjogos/home/materiais-de-apoio/topicos-relativos-a-c/estruturas-basicas-de-controle/linhas-com-asteriscos

 


 #include <stdio.h>

 int main(void) {

int i, j, n, m;

 scanf("%d %d", &m, &n);

 for (i = 1; i <= m; i = i + 1)  {

 for (j = 1; j <= n; j = j + 1)

printf("*");

printf("\n");  }

return 0;  }

 

2 - Criar um programa que leia um numero N e imprima N linhas na tela com o seguinte
formato (exemplo se n = 6)

Saída esperada:

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6

 

Solução possível

Fonte: https://sites.google.com/a/liesenberg.biz/cjogos/home/materiais-de-apoio/topicos-relativos-a-c/estruturas-basicas-de-controle/triangulo-de-asteriscos

 


#include <stdio.h>
    
    int main(void)
    {
        int m, i, j;
        scanf("%d", &m);
        for (i = 1; i <= m; i = i + 1)
        {
           for (j = 1; j <= i; j = j + 1) 
           putchar('*');
           putchar('\n');
       }
      return 0;
   }

 

Eu entendo com criar a estrutura, mas não como imprimir no formato que pedi.

Alguém pode dá help para imprimir saída correta?

 

//Solução da questão 1

#include <stdio.h>

 int main(void) {

int i, j, n, m;

 scanf("%d %d", &m, &n);

 for (i = 1; i <= m; i = i + 1)  {

 for (j = 1; j <= n; j = j + 1)
    if(j== i)
      printf("+");
    else
      printf("*");

printf("\n");  }

return 0;  }

 

  • Curtir 1
Postado

 

 

#include <stdio.h>
#include<stdlib.h>

int main(void) {
  int N = 6;
  int i, j, c = 0;
  for (i=1; i <=N; i++){
    for(j=1; j<= i; j++){
      c++;
      printf("%d ",c);
    }
    printf("\n");
  }
  system("pause");
  return 0;
}
// Esse exemplo me deu a saida a baixo
#include <stdio.h>
#include<stdlib.h>

int main(void) {
  int N = 6;
  int i, j, c = 0;
  for (i=1; i <=N; i++){
    for(j=1; j<= i; j++){
      c++;
      printf("%d ",c);
    }
    printf("\n");
  }
  system("pause");
  return 0;
}

/*
1 
2 3 
4 5 6 
7 8 9 10 
11 12 13 14 15 
16 17 18 19 20 21 
*/

 

No caso na segunda eu quero essa saída:

Saída esperada:

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6

@KXSY A primeira sim, a segunda é sequência de números a saída esperada.

  • Obrigado 1
Postado

Outra forma de resolver,

 

No primeiro o loop ir até o quadrado do número digitado e nos testes verificar os módulos para imprimir o caractere. É mais por curiosidade, acho que eu não entregaria esse tipo de exercício assim. Em termos de processamento talvez não seja tão eficiente quanto dois loops por ter que calcular o quadrado e testar os módulos?

 

#include <stdio.h>

int main(){
    int i = 0, n;
    
    scanf("%d",&n);

    while(++i<=(n*n)){
        if(!((i - 1)%(n + 1))){
            printf("+");
        }else{printf("*");}
        if(!(i%n)){printf("\n");}
    }
    return 0;
}

 

No segundo o contador do loop mais interno vai até ser <= o do primeiro,

 

int main(){
    int i = 0, j = 0, n;
    
    scanf("%d",&n);

    while(++i<=n){
        while(++j<=i){
            printf(" %d",j);
        }
        j = 0;
        printf("\n");
    }
    return 0;
}

 

  • Obrigado 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!