Jump to content
msmsms

[RESOLVIDO] imprimir vector de tempos

Recommended Posts

msmsms

tentei fazer um mini programa para receber os tempos um a um e então imprimir um a umpara isso gerei um vector chamado tempo com 5 posições e declarei uma variavel tempo para receber cada tempo mas não consigo fazer com que a consola peça 5 vezes um tempoe imprima os 5 tempos atraves do armazenamento que deve ser feito no vector tempos[]

#include #include int main(){int tempos[5];int tempo;int i = 0;while (i<5){	 printf("tempo: ");	 scanf("%d", &tempo);	 tempos[i++] = tempo;}printf("tempo: %d", &tempos);return 0;}

Edited by msmsms

Share this post


Link to post
Share on other sites
HappyHippyHippo

se tens um ciclo para guardar tens de ter um ciclo para apresentar


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
msmsms

se tens um ciclo para guardar tens de ter um ciclo para apresentar

sim eu fiz

e o resultado foi péssimo assim que executei começou a fazer prints a maluca e até tive de reuniciar o pc para conseguir fechar a consola

tal como deixo em baixo

#include <stdio.h>
#include <stdlib.h>
int tempos[5];
int tempo;
int main()
{
int i=1;
while (i<=5){
	printf("tempo: ");
	scanf("%d", &tempo);
	tempos[i++] = tempo;
}
while (i<=5){
	printf("tempo: %d", tempos[i]);
}
return 0;
}

o meu objectivo é fazer inicialmente a main receber e imprimir os tempos

e depois em 2 funções separadas criar a função receber_tempos e imprimir_tempos

chamando essas funções no main

mas ainda não consegui fazer a impressão dos tempo correctamente trabalhando só com a main

Edited by msmsms

Share this post


Link to post
Share on other sites
HappyHippyHippo

escreve em português o que cada elemento do seguinte código está a fazer:

       while (i<=5){
               printf("tempo: %d", tempos[i]);
       }

ps : vou simplesmente ignorar se a resposta for : "imprimir os tempos" ... esse tipo de resposta não tem sentido !!!

Edited by HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
msmsms

escreve em português o que cada elemento do seguinte código está a fazer:

	while (i<=5){
			printf("tempo: %d", tempos[i]);
	}

ps : vou simplesmente ignorar se a resposta for : "imprimir os tempos" ... esse tipo de resposta não tem sentido !!!

bem, através do ciclo while vai transformado i para 1, 2, 3, 4, 5

então estará a imprimir os elementos tempos[1], tempos[2], tempos[3], tempo[4] e tempos[5]

através do ciclo while anterior eles elementos são construidos através da função scanf

onde tenho que tempos[i++] = tempo

o que estou a pensar errado?

com 3 elementos e sem ciclo while ao imprimir eu consigo obter os tempos

#include <stdio.h>
#include <stdlib.h>
int tempos[3];
int tempo;
int main()
{
   int i=1;
   while (i<=3){
    printf("tempo: ");
    scanf("%d", &tempo);
    tempos[i++] = tempo;
   }
   printf("\n");
   printf("tempo: %d \n", tempos[1]);
   printf("tempo: %d \n", tempos[2]);
   printf("tempo: %d \n", tempos[3]);

   return 0;
}

Edited by msmsms

Share this post


Link to post
Share on other sites
HappyHippyHippo

eu disse para comentar o código que apresentei e não o que te apetece explicar

       while (i<=5){
               printf("tempo: %d", tempos[i]);
       }

Edited by HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
msmsms

ja consegui

#include <stdio.h>
#include <stdlib.h>
#define MAX 50

int tempos[MAX];
int tempo;
int num;

void num_tempos(){
   printf("numero de tempos: ");
   scanf("%d", &num);

}

void receber_tempos(){
   int i=1;
   while (i<=num){
    printf("tempo: ");
    scanf("%d", &tempo);
    tempos[i++] = tempo;
   }
   printf("\n");

}

void imprimir_tempos(){
   int j =1;
   while(j<=num){
    printf("tempo: %d \n", tempos[j]);
    j++;
   }
   printf("\n");

}

int main()
{
   num_tempos();
   receber_tempos();
   imprimir_tempos();


   return 0;
}


Edited by msmsms

Share this post


Link to post
Share on other sites
PsySc0rpi0n

sim eu fiz

e o resultado foi péssimo assim que executei começou a fazer prints a maluca e até tive de reuniciar o pc para conseguir fechar a consola

tal como deixo em baixo

#include <stdio.h>
#include <stdlib.h>
int tempos[5];
int tempo;
int main()
{
int i=1;
while (i<=5){
	printf("tempo: ");
	scanf("%d", &tempo);
	tempos[i++] = tempo;
}
while (i<=5){
	printf("tempo: %d", tempos[i]);//falta incrementar a variável de controlo i
}
return 0;
}

o meu objectivo é fazer inicialmente a main receber e imprimir os tempos

e depois em 2 funções separadas criar a função receber_tempos e imprimir_tempos

chamando essas funções no main

mas ainda não consegui fazer a impressão dos tempo correctamente trabalhando só com a main

O material tem sempre razão...

Uma vez que já resolveste o problema, falta apenas dizer o que estava mal. Comentei no code o que faltava!


Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.