Ir ao conteúdo
  • Cadastre-se

Programa em C


Posts recomendados

Oi, gente, tudo bom?

Então, eu estava tentando fazer um exercício e cheguei nisso:
#include<stdio.h>
#include<locale.h>
int main(){ /exercicio 6
setlocale(LC_ALL, "Portuguese");
float V0, H1, H2, H3, H4, H5, H6, H7, H8, H9, H10, g=10;
printf("Insira a velocidade inicial do corpo em m/s:\n");
scanf("%f", &V0);{
H1=(V0*1)-(g * 1 * 1)/2;
H2=(V0*2)-(g * 2 * 2)/2;
H3=(V0*3)-(g * 3 * 3)/2;
H4=(V0*4)-(g * 4 * 4)/2;
H5=(V0*5)-(g * 5 * 5)/2;
H6=(V0*6)-(g * 6 * 6)/2;
H7=(V0*7)-(g * 7 * 7)/2;
H8=(V0*8)-(g * 8 * 8)/2;
H9=(V0*9)-(g * 9 * 9)/2;
H10=(V0*10)-(g * 10 * 10)/2;}
printf("A tabela é: \n%f\n%f\n%f\n%f\n%f\n%f\n%f\n%f\n%f\n%f\n", H1, H2, H3, H4, H5, H6, H7, H8, H9, H10);
}

e pelo que eu testei está tudo funcionando como deveria, porém eu tenho uma dúvida, teria como eu simplificar toda essas linhas de H's?
eu pensei nisso aqui:
#include<stdio.h>
#include<locale.h>
int main(){
setlocale(LC_ALL, "Portuguese");
float V0, g=10, t=0, H;
printf("Insira a velocidade inicial do corpo em m/s:\n");
scanf("%f", &V0);{
for (t=0;t<=10;t++);for (H=1;H<=10;H++);{
H=(V0*t) - (g * t * t) / 2;

só que obviamente não deu certo, mas eu imagino que, se existir uma maneira de simplificar isso tudo, deve ser feito de alguma maneira parecida, vocês tem alguma dica do que eu posso fazer?
Obrigado!

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

24 minutos atrás, MassakiMsk disse:

Sabe usar vetor? Tudo isso pode ser usado em um único vetor H[10]

Ficaria assim

#include<stdio.h>
#include<locale.h>
int main()
{
    //exercicio 6
    setlocale(LC_ALL, "Portuguese");

    float V0, H[10], g = 10;
    printf("Insira a velocidade inicial do corpo em m/s:\n");
    scanf("%f", &V0);
    int i;
    for(i = 0; i < 10; i++)
        H[i]=(V0*(i+1))-(g * (i+1) * (i+1))/2;
    printf("A tabela é: \n");
    for(i = 0; i < 10; i++)
        printf("%f\n", H[i]);
}

 

Link para o comentário
Compartilhar em outros sites

Dá até pra diminuir mais o código caso o armazenamento dos valores não seja necessário. Calcula o H e já imprime:

 

#include<stdio.h>

int main(void){

    int i;
    float V0, H, g = 10;

    printf("Insira a velocidade inicial do corpo em m/s:\n");
    scanf("%f", &V0);

    for(i = 0; i < 10; i++){
        H = (V0*(i+1))-(g * (i+1) * (i+1))/2;
        printf("%f\n", H);
    }

    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

Um pouco mais de simplificação:

#include<stdio.h>
#include<locale.h>
int main()
{
    //exercicio 6
    setlocale(LC_ALL, "Portuguese");

    float V0, H[10], g = 10;
    
    //Entrada
    printf("Insira a velocidade inicial do corpo em m/s:\n");
    scanf("%f", &V0);
    
    //Já calcula e imprime(saida)
    printf("A tabela é: \n");
    //Lembrando que i = 0 ja seria usado em H[i], então essa logica é possivel
    for(int i = 0; i < 10; i++, H[i]=(V0*(i+1))-(g * (i+1) * (i+1))/2){
        printf("%f\n", H[i]);
	}
}

 

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!