• Matéria: Informática
  • Autor: PropPropina
  • Perguntado 4 anos atrás

Escreva uma função chamada ‘chline’, que deve imprimir um caractere passado pelo usuário, nas posições i e j, também passadas pelo usuário.

Em linguagem C


PvAbreu: Essas posições I e J se referem a uma matriz?
PropPropina: sim
PropPropina: linhas e colunas

Respostas

respondido por: PvAbreu
1

Resposta:

#include <stdio.h>

#include <stdlib.h>

/*

   //Escreva uma função chamada ‘chline’, que deve imprimir um caractere passado pelo usuário, nas posições i e j, também passadas pelo usuário.

*/

int main()

{

   char **matriz;

   int i=0, j=0;

   ///Alocando e preenchendo a matriz com *

   matriz = (char**)malloc(sizeof(char*)*3); //3 é um valor qualquer, pode ser uma variável, aqui estou alocando as linhas;

   if (matriz != NULL){

       for (i=0; i<3;i++){

           matriz[i] = (char*)malloc(sizeof(char)*3); //Aqui estou alocando as colunas

           for (j=0; j<3;j++){

               matriz[i][j] = '*';

           }

       }

   }

   ///Pedindo informações ao usuário

   char caractereUser;

   int linha, coluna;

   printf("Digite o caractere desejado\n");

   scanf("%c", &caractereUser);

   printf("Linha da matriz desejada\n");

   scanf("%d", &linha);

   printf("Coluna desejada\n");

   scanf("%d", &coluna);

   printf("Substituindo na posicao [%d][%d] por %c\n", linha,coluna,caractereUser);

   matriz[linha-1][coluna-1]= caractereUser; //Aqui recomendo fazer um if caso os valores linha ou coluna, passados pelo usuário, sejam maior que o tamanho da matriz

 

//Você pode fazer um loop aqui para ficar mudando os valores de uma posição de acordo com a vontade do usuário.

///Mostrando a matriz

   for(i=0; i<3;i++){

       for(j=0; j<3;j++){

           printf("%c  ", matriz[i][j]);

       }

       printf("\n");

   }

   return 0;

}

Explicação:

Fiz usando alocação dinâmica


PropPropina: Obrg!!! se tu entrar no meu perfil, tem mais umas questões se quiser ou puder responder agradeço tb!!!
PropPropina: de programação tb
Perguntas similares