Pular para o conteúdo

Problema com Matrizes

Responder tópico
  • Denunciar
  • Indicar

1. Problema com Matrizes

Enviado em 15/03/2015 - 19:45h

Estou tentando resolver uma lista de exercícios para meu curso, mas travei em um dos problemas.

Escreva um algoritmo que leia 16 números informado pelo usuário para uma matriz 4x4. Exiba na tela somente os números positivos. No lugar dos números negativos imprima o carácter '&'.
Consegui a parte em que o usuário digita os elementos e em seguida é mostrada a matriz com os valores informados, com este código:

#include <stdio.h>

void main(){

int m[4][4], l, c;
int x = 1;

puts("Informe 16 números:");

for (l = 0; l < 4; l++)
for (c = 0; c < 4; c++) {
printf("Informe o elemento [%i]: ", x++);
scanf("%i" , &m[l][c]);
}

for (l = 0; l < 4; l++) {
for (c = 0; c < 4; c++) {
printf("[%i]", m[l][c]);
}
puts(" ");
}

}
Não consigo, usando o comando IF, o resultado que preciso. Como devo proceder?

Agradeço desde já,
Gustavo.

Responder tópico

2. Re: Problema com Matrizes

Enviado em 15/03/2015 - 20:12h

SamL escreveu:

É só colocar um if dentro do segundo for antes de imprimir na tela. Por exemplo:

for (l = 0; l < 4; l++) {
for (c = 0; c < 4; c++) {
if (m[l][c] < 0) // verifica se é número negativo
printf(" & "); // imprime &
}
puts(" pula uma linha aqui");
}


NOTA: o código acima está incompleto mas você deve pesquisar como fazer. É simples. Pesquise como pular linha em C e como funciona o if() else
Consegui! Fiz uma alteração com else em seguida para imprimir o resto da matriz como o enunciado pedia. Deixei essa parte do código assim:

for (l = 0; l < 4; l++) {
for (c = 0; c < 4; c++) {

if (m[l][c] < 0) {
printf("[&]");
} else {
printf("[%i]", m[l][c]);
}
}
puts(" ");
}

3. Re: Problema com Matrizes

Enviado em 16/03/2015 - 08:56h

SamL escreveu:

Cara para pular linhas faça o seguinte, adicione \n no fim da string de saída. Por exemplo:

#include <stdio.h>
int main()
{
printf("Sou uma linha... \n");
puts("E eu também!...\n");
return 0;
}

puts() sempre avança linha ao final. Se você colocar "\n" como parte da string de formatação, vai avançar duas linhas.

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder