Ir ao conteúdo
  • Cadastre-se

MQTTH

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

posts postados por MQTTH

  1. Boa tarde galera, necessito fazer o seguinte problema:

     

    Faça um programa para leitura, via teclado, dos dados de dois alunos diferentes. Os dados a serem guardados na estrutura aluno são os seguintes: nome, curso, idade. Ao final, imprima estas informações na tela. Crie procedimentos para as operações de leitura e impressão.

     

    Eu já escrevi o código e tudo está funcionando, menos a idade. Eu não sei o porquê, mas o meu programa não está lendo a idade do usuário corretamente. deixarei o código aqui e um print mostrando ele rodando. 

     

    #include <stdio.h>
    #include <stdlib.h>
    
    typedef struct dados_alunos
    {
      	char nome[40];
      	char curso [20];
    	int idade [2];
    } aluno;
    
    void lerVetorAlunos(aluno a[], int n)
    {
     int i;
     for( i = 0; i < n; i++)
     {
      printf("\nInforme o nome do aluno: ");
      gets(a[i].nome);
      printf("Informe o curso do aluno: ");
      gets(a[i].curso);
      printf("Informe a idade do aluno:  ");
      gets(a[i].idade);
    
     }
    }
    
    void imprimeVetorAlunos(aluno a[], int n)
    {
      int i;
      
      for(i = 0; i < n; i++)
      {
      	printf("\nAluno:");
        printf(" %s", a[i].nome);
        
        printf("\nCurso:");
    	printf(" %s", a[i].curso);
    	
    	printf("\nIdade:");
        printf(" %d", a[i].idade);
        
        printf("\n");
      }
    }
    
    int main()
    {
      aluno alunos[2];
      lerVetorAlunos(alunos, 2);
      imprimeVetorAlunos(alunos, 2);
    
      return 0;
    }

     

     

     

    cats.jpg

  2. 1 minuto atrás, Math.Pi disse:

    @MQTTH 

    Bom dia. Até entendo que dá pra substituir as váriaveis de número por um vetor num[3], mas não vejo no que uma matriz ajudará aí. Só se o autor queira guardar o resultado da tabuada também. Aí você transformaria esse vetor em uma matriz num[3][10].

    Em relação ao vetor faz total sentido, sobre a matriz eu também ainda não entendi. Mas deixei aqui um anexo de como tem que ficar o layout utilizando a matriz.. Porém não tenho ideias de como faze-lo !

    cats.jpg

    • Curtir 2
  3. Eu necessito fazer o seguinte programa: 

    Faça um programa, utilizando uma matriz, que solicite a entrada de um número, onde serão calculadas as tabuadas desse número, do número anterior e do número posterior.

     

    Eu até consegui fazer o programa tranquilamente utilizando o comando FOR, só que não sei como adapta-lo para utilizar matriz. Vou deixar o código que fiz: 

    #include <stdio.h>
    #include <locale.h>
    
    int main() 
    {
    	setlocale(LC_ALL, "Portuguese");
    	int i,j;
    	int num, num2, num3;
    	
    	printf("\nTabuada do número: ");
    	scanf("%d",&num);
    	
    	num2 = num +1;
    	num3 = num - 1;
    	
    	for(i = 1; i<= 10; i++)
    {
    	printf("%d x %d = %d\n", i, num, i*num);
    
    }
    
    	printf("\nAntecessor: %d\n", num3);
    	for(i=1; i<= 10; i++)
    {
    	printf("%d x %d = %d\n", i, num3, i*num3);
    }
    	
    	printf("\nSucessor: %d\n",num2);
    
    
    for(i=1; i<= 10; i++)
    {
    	printf("%d x %d = %d\n", i, num2, i*num2);
    
    }
    return 0;
    	}

     

    • Curtir 1
  4. Bom dia/tarde/noite galera, necessito fazer o seguinte exercício: Faça um programa, utilizando duas matrizes, que solicite a entrada de todos os elementos de uma matriz 3x2, onde será calculada a sua matriz transposta (2x3). A matriz transposta é a troca da linha pela coluna, ou seja, a linha 1 da matriz original será a coluna 1 da matriz transposta. Posteriormente, armazene na segunda matriz a matriz transposta, além de exibir a mesma para o usuário, conforme layout abaixo:

    O layout é bem simples:

     

    Matriz Original é: 

     

    xxxxx

    xxxx

     

    Matriz Transposta é: 

     

    xxxx

    xxx

     

    Bom. eu tinha feito esse exercício criando um parâmetro e utilizando o comando "rand" que o próprio programa gerava os valores para mim. Só que pelo que entendi, não é para usar parâmetro e eu necessito pedir para o usuário os valores que ele quer digitar. Vou deixar abaixo o código que fiz utilizando rand e parâmetro só para comparação caso seja necessário: 


    //

    #include <stdio.h>  
    #include <stdlib.h>
    #include <locale.h>
    
    void inverterMatriz(int matriz[10][10])
    {      
        int mat1[2][3],i,j;
        printf("\nMatriz 2x3 - Transposta\n");
        for(i=0;i<2;i++)
        {
            printf("\n");
            for(j=0;j<3;j++)
            {
                mat1[i][j]=matriz[j][i];            
                printf(" %d ",mat1[i][j]);
            }
        }
    }
    int main ()
    {
        setlocale(LC_ALL, "Portuguese");
        int m[2[3],i,j;  
        printf("Matriz 2x3\n");
        
         for(i = 0; i < 2; i++)
         {
             printf("\n");
           for(j = 0; j < 3; j++)
            {
               m[i][j] = rand()%50;  
                printf(" %d ", m[i][j]);    
            
            }
        }
        printf("\n");
        inverterMatriz(m); 
        return 0;
    }


    //

     

    Como esse não serviu, fui tentar fazer sem utilizar parâmetro e solicitando o usuário os valores. Ta bem parecido porém não funciona, alguém tem alguma dica ? Deixarei o código abaixo: 

    #include <stdio.h>  
    #include <stdlib.h>
    #include <locale.h>
    
    int main ()
    {
        setlocale(LC_ALL, "Portuguese");
        int m[2][3], m2[2][3];
        int i, j;
        
         for(i = 0; i < 2; i++)
         {
             printf("\n");
           for(j = 0; j < 3; j++)
            {
            
            printf("Digite o valor da posição %d %d da matriz: ", i, j);
            scanf("%d", &m[i][j]);
            
            }
        
        }
        printf("A matriz original é: \n%d", m[i][j] );
        printf("\nA matriz transposta é: \n");
        for(i=0;i<2;i++)
        {
             
            printf("\n");
            for(j=0;j<3;j++)
            {
                m2[i][j] = m[j][i]; 
                printf(" %d ",m2[i][j]);
            }
        
        printf("\n");
        return 0;
    }
    }

     

  5. 3 horas atrás, devair1010 disse:

    @MQTTH    o vetor para armazenar o nome do fornecedor é do tipo string , que na linguagem c se trata de um vetor de char , então

    
    char nome_fornecedor[5][30]; //  pode armazenar ayé cinco nome de 29 caracteres cada um

     

    int main ()
    {
        setlocale(LC_ALL, "Portuguese");
        
     
         float valor[5], media;
           int x,y;
           char resposta;
        int nome_fornecedor[5] = {1,2,3,4,5};
        
    do
       {
          media=0;
          
        
          for(x =0, y= 0 ;x<5, y<5;x++, y++)
              {
                printf("Digite o preço do fornecedor %d: ", nome_fornecedor [y], x+1);
                 scanf("%f",&valor[x]);
            }

     

    consegui fazer, deixei o código pra caso alguém tenha uma dúvida parecida. Obrigado irmão.

  6. 1 hora atrás, devair1010 disse:

    @MQTTH    o vetor para armazenar o nome do fornecedor é do tipo string , que na linguagem c se trata de um vetor de char , então

    
    char nome_fornecedor[5][30]; //  pode armazenar ayé cinco nome de 29 caracteres cada um

     

    Você pode dar ideia de como iria aplicar isto ao meu código ? Porque eu tentei utiliza-lo mas dava erro 

  7.  

    'Gere um cálculo de preço médio de um galão de tinta de 5 fornecedores para que sejam utilizados vetores para armazenar o nome do fornecedor e o seu respectivo preço'

     

    Necessito fazer este exercício, só que estou em dúvida em como irei fazer o vetor para armazenar o nome do fornecedor, o código que já fiz é: 

     

    <

    #include <stdio.h>
    #include <locale.h>

        int main ()
    {
        setlocale(LC_ALL, "Portuguese");
        
         float valor[5], media;
           int i;
           char resposta;

    do
       {
          media=0;
      
          printf("Cálculo de Preço Médio\n\n");
        
          for(i=0;i<5;i++)
              {
                     printf("Digite o preço do fornecedor: ",i+1);
             scanf("%f",&valor[i]);
            }
            
        for(i=0;i<5;i++)
             media = media + valor[i];
         
          media = media/5;
          
           printf("\n\nO preço médio é: %.2f", media);
         
          printf("\n\nDeseja continuar?");
          scanf("%s",&resposta);
        
    }
       while(resposta=='S'); 
    }

    >

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!