Ir ao conteúdo

Posts recomendados

Postado

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
Postado
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]);
}

 

Postado

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;
}

 

Postado

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
Postado
39 minutos atrás, Vinicius Souza Lima Garcia disse:

Bom, ainda n sei muito de programação, mas muito obrigado gente, vou olhar todos os códigos e tentar aprender... No caso o vetor seria tipo matriz? Eu faltei justo nessa aula :oops:

Sim, a matriz é um vetor bi-dimensional. 

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!