Ir ao conteúdo
  • Cadastre-se

Dúvida em exercício com matrizes II


Mione15

Posts recomendados

Oi! Preciso de ajuda com um exercício:

 

Faça um programa que gere, para um valor n >=0 fornecido pelo usuário, um “quadrado” de n linhas e n colunas que tenha caracteres ':' nas posições da diagonal principal e os caracteres '+' nas demais. Por exemplo, para n=5 o programa deve gerar:

:++++

+:+++

++:++

+++:+

++++:

 

 

valeu!

Link para o comentário
Compartilhar em outros sites

Você pode fazer um for dentro do outro usando, por exemplo, uma variável i para controlar um for e uma variável j para controlar o outro for (e é claro, o valor de n terá que ser usado para limitar a quantidade de vezes que os laços serão executados). Dentro do for mais interno você vai desenhando o quadrado escrevendo '+', a não ser quando i for igual a j, pois nesse caso você deverá escrever ":".

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

obg pela dica..tentei fazer isso..olha o meu código:

 

#include<stdio.h>

#include<stdlib.h>

 

int main ()

{

    char vet[][];

    int i,x,y;

    printf ("Digite um número:\n");

    scanf(" %d ",x);

    y = x;

    for (i = 0; i <= x; i++)

    {

        for (i = 0; i <= y; i++)

        {

              if (x == y)

              {

                    printf(":");

              }

             else

             {

                   printf("+");

             }

        }

    }

    system ("pause");

    return 0;

}

Link para o comentário
Compartilhar em outros sites

Notei alguns erros no código:

  1. o vetor vet não está sendo usado, pode ser deletado.
  2. não precisa da variável y, pode deletar também.
  3. não usa a mesma variável nos dois laços. Num laço você tá usando a variável i, no outro laço usa outra variável (j, por exemplo).
  4. nos dois laços for, compara com o valor de x, porque você tá desenhando um quadrado, então a largura e a altura vão ser os mesmos. E do jeito que você está fazendo (i <= x), i e j têm que começar valendo 1, senão o quadrado não vai ficar com as dimensões desejadas.
  5. Quando terminar de desenhar uma linha (no final do for), pula uma linha, senão vai ficar tudo desenhado numa linha só.
  6. Para desenhar o ":" compara se i == j.
  7. Para ler o valor de x faz assim:
scanf("%d", &x);

Qualquer dúvida, posta aí.

  • Curtir 1
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...