Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luciano da Cruz Faria

Matrizes

Recommended Posts

Eu sou iniciante na linguagem alguem pode me ajudar nesse exercicio está dando erro quuando eu vou compilar no devc++

 

Se alguem puder ajudar eu agradeço

 

 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define t 20
main()
{
  
     float mat IMC [t][3]
     float peso[t],altura[t], media_peso, media_altura ;
     int i,j;
     
     
     { for (i=0;i <t; i++)
     { for (j=0;j<3;j++)                 
          {
           printf("\n    Peso:") ; scanf("%f",&peso[i][j]);
           printf("\n  Altura: "); scanf("%f",&altura[i][j]);
                                           
           imc[i] = peso[i][j] / (altura[i][j] * altura[i][j]);
          }
          }
        system("cls");
        
        printf(“---------Indice IMC-----------------\n”);
        printf(" Peso |    Altura|    IMC  \n");    
        printf(" -------------------------------- \n"); 
 
 
 
          media_peso=0;
          media_altura=0;   
 
      for (i=0;i <t; i++){
      for (j=0;j<3;j++)    {
      printf("\n  %3.2f  %3.2f  %3.2f ", peso[i][j],altura[i][j],imc[i][j]);
 
                    if (imc[i] <= 18.5)
                  puts("Abaixo do peso");
              else if (imc[i] <= 25)
                puts("Peso Normal");
              else if (imc[i] < 30)
                puts("Acima do Peso");
              else
                puts("Obeso");
 
media_peso   =media_peso+ peso[i][j];
media_altura =media_altura +altura[i][j];
 
             }
               }
             media_peso =media_peso/ t;
             media_altura =media_altura/t;
            
             printf("\n\nMedia de Peso ==> %3.2f ",media_peso);
             printf("\n\nMedia Altura  ==> %3.2f\n\n\n ",media_altura);
         system("pause");
         }

Compartilhar este post


Link para o post
Compartilhar em outros sites
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define t 20
main()
{
  
     float matIMC [t][3]; // Faltava ponto e vrigula, e espaço entre "mat" e "IMC"
     float peso[t],altura[t], media_peso, media_altura ;
     int i,j;
     
     
		 for (i=0;i <t; i++) {
		 for (j=0;j<3;j++)                 
          {
           printf("\n    Peso:") ; 
				scanf("%f",&peso[j]); // "peso" não foi declarado como matriz
           printf("\n  Altura: "); 
			  scanf("%f",&altura[j]); // "altura" não foi de clarado como matriz
                                           
           matIMC[j][i] = (peso[j] / (altura[j] * altura[j])); // "imc" não existe, substituido por "matIMC"
          }
        }
        printf("---------Indice IMC-----------------\n");
        printf(" Peso |    Altura|    IMC  \n");    
        printf(" -------------------------------- \n"); 
 
 
 
          media_peso=0;
          media_altura=0;   
 
      for (i=0;i <t; i++){
      for (j=0;j<3;j++)    {
      printf("\n  %3.2f  %3.2f  %3.2f ", peso[j],altura[j],matIMC[i][j]);
 
                    if (matIMC[j][i] <= 18.5)
                  puts("Abaixo do peso");
              else if (matIMC[j][i] <= 25)
                puts("Peso Normal");
              else if (matIMC[j][i] < 30)
                puts("Acima do Peso");
              else
                puts("Obeso");
 
media_peso   = media_peso+ peso[j];
media_altura = media_altura +altura[j];
 
             }
               }
             media_peso =media_peso/ t;
             media_altura =media_altura/t;
            
             printf("\n\nMedia de Peso ==> %3.2f ",media_peso);
             printf("\n\nMedia Altura  ==> %3.2f\n\n\n ",media_altura);
				return 0;
         }

 

Este código está compilando. Mas não testei a lógica, provavelmente deve ter erros.

 

Tinha muitos erros básicos no código, sugiro que estude mais.

http://pt.wikibooks.org/wiki/Programar_em_C

 

OBS.: sugiro que utilize outra IDE. O Devc++ é uma ferramenta antiga e já descontinuada.

Sugiro utilizar o code::blocks, também open source e multiplataforma.

http://www.codeblocks.org/downloads

 

Espero ter ajudado, FLW!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado g becker

 

 

G becker obrigado ele compilou ele só não para de mostrar o peso e a altura,foi definido 20 vezes,mas ele não para ,eu tenho que acrescentar alguma coisa.

 

 

Obrigado pela indicação do site vou estudar mais .

Luciano

 

 

G becker obrigado ele compilou ele só não mostra a quantidade de vezes na tela corretamente.

 

 

eu mudei o

 

#define t 3

em vez de mostrar 3 vezes ele mostrou 9 vezes

parece que ele multiplica a quantidade de t com a quantidade de colunas que é 3

 

o que pode ser

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define t 20
main()
{
  
     float matIMC [t][3]; // Faltava ponto e vrigula, e espaço entre "mat" e "IMC"
     float peso[t],altura[t], media_peso, media_altura ;
     int i,j;
     
     
		 for (i=0;i <t; i++) {
		 for (j=0;j<3;j++)                 
          {
           printf("\n    Peso:") ; 
				scanf("%f",&peso[j]); // "peso" não foi declarado como matriz
           printf("\n  Altura: "); 
			  scanf("%f",&altura[j]); // "altura" não foi de clarado como matriz
                                           
           matIMC[j][i] = (peso[j] / (altura[j] * altura[j])); // "imc" não existe, substituido por "matIMC"
          }
        }
        printf("---------Indice IMC-----------------\n");
        printf(" Peso |    Altura|    IMC  \n");    
        printf(" -------------------------------- \n"); 
 
 
 
          media_peso=0;
          media_altura=0;   
 
      for (i=0;i <t; i++){
      for (j=0;j<3;j++)    {
      printf("\n  %3.2f  %3.2f  %3.2f ", peso[j],altura[j],matIMC[i][j]);
 
                    if (matIMC[j][i] <= 18.5)
                  puts("Abaixo do peso");
              else if (matIMC[j][i] <= 25)
                puts("Peso Normal");
              else if (matIMC[j][i] < 30)
                puts("Acima do Peso");
              else
                puts("Obeso");
 
media_peso   = media_peso+ peso[j];
media_altura = media_altura +altura[j];
 
             }
               }
             media_peso =media_peso/ t;
             media_altura =media_altura/t;
            
             printf("\n\nMedia de Peso ==> %3.2f ",media_peso);
             printf("\n\nMedia Altura  ==> %3.2f\n\n\n ",media_altura);
				return 0;
         }

 

Este código está compilando. Mas não testei a lógica, provavelmente deve ter erros.

 

Tinha muitos erros básicos no código, sugiro que estude mais.

http://pt.wikibooks.org/wiki/Programar_em_C

 

OBS.: sugiro que utilize outra IDE. O Devc++ é uma ferramenta antiga e já descontinuada.

Sugiro utilizar o code::blocks, também open source e multiplataforma.

http://www.codeblocks.org/downloads

 

Espero ter ajudado, FLW!

G becker obrigado, ele compilou ele só não mostra a quantidade de vezes na tela corretamente. em vez de pedir o peso e a altura 20 vezes pede 60 vezes

 

eu mudei para

 

#define t 3

em vez de pedir 3 vezes ele pede 9 vezes

parece que ele multiplica a quantidade de t com a quantidade de colunas que é 3

 

o que pode ser

 

Obrigado mais uma vez

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele repete as nove vezes ou as sessenta, por causa dos laçoes de repetição.

No estado atual, 3x3 = 9.

 

Na forma que você fez, ele preenche toda a matriz antes de prosseguir no código.

 

Tente depurar o código e poderá percebr isto perfeitamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele repete as nove vezes ou as sessenta, por causa dos laçoes de repetição.

No estado atual, 3x3 = 9.

 

Na forma que você fez, ele preenche toda a matriz antes de prosseguir no código.

 

Tente depurar o código e poderá percebr isto perfeitamente.

 

 

Ele repete as nove vezes ou as sessenta, por causa dos laçoes de repetição.

No estado atual, 3x3 = 9.

 

Na forma que você fez, ele preenche toda a matriz antes de prosseguir no código.

 

Tente depurar o código e poderá percebr isto perfeitamente.

Gabriel tudo bem!

Desculpa mais uma vez estar incomodando

Eu fiz dessa forma como está abaixo e agora mostrou a quantidade de vezes correta. 3 vezes

Por favor me diga se está ,se não tiver, poderia falar o que está errado

 

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define t 3

main()

{

 

float matIMC [t][3]; // Faltava ponto e vrigula, e espaço entre "mat" e "IMC"

float peso[t],altura[t], media_peso, media_altura ;

int i,j;

 

 

 

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

{

printf("\n Peso:") ;

scanf("%f",&peso[j]); // "peso" não foi declarado como matriz

printf("\n Altura: ");

scanf("%f",&altura[j]); // "altura" não foi de clarado como matriz

 

matIMC[j] = (peso[j] / (altura[j] * altura[j])); // "imc" não existe, substituido por "matIMC"

 

}

printf("---------Indice IMC-----------------\n");

printf(" Peso | Altura| IMC \n");

printf(" -------------------------------- \n");

 

 

 

media_peso=0;

media_altura=0;

 

 

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

printf("\n %3.2f %3.2f %3.2f ", peso[j],altura[j],matIMC[j]);

 

if (matIMC[j] <= 18.5)

puts("Abaixo do peso");

else if (matIMC[j] <= 25)

puts("Peso Normal");

else if (matIMC[j] < 30)

puts("Acima do Peso");

else

puts("Obeso");

 

media_peso = media_peso+ peso[j];

media_altura = media_altura +altura[j];

 

 

}

media_peso =media_peso/ t;

media_altura =media_altura/t;

 

printf("\n\nMedia de Peso ==> %3.2f ",media_peso);

printf("\n\nMedia Altura ==> %3.2f\n\n\n ",media_altura);

system("pause");

return 0;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.