Jump to content
pedrugoncalves

[Resolvido] problema com matriz

Recommended Posts

pedrugoncalves

Boa tarde, preciso de ajuda num problema que me apareceu, precisava de somar alguns elementos de uma matriz. iniciei a matriz da seguinte forma v[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,28,31,30,31,30,31,31,30,31,30,31}};...isto representa os dias dos meses do ano a minha ideia é quando introduzir o mes inicial e o final que ele me de a contagem dos dias entre esses meses. alguem me pode ajudar?

Share this post


Link to post
Share on other sites
pmg

Primeiro define bem o que queres dizer com "contagem de dias entre mes inicial e mes final".

Imagine que o mes inicial e o mes final sao o mesmo. Quantos dias passaram? 0? ou 30? ...

Segundo: tenta fazer o codigo por ti e apresenta-o

Terceiro: soma os dias do primeiro mes, soma os dias do segundo mes, calcula a diferenca

Quarto: como é que vais lidar com anos bissextos?

Quinto: o array v[0] e o array v[1] sao iguais. Não precisas dos dois.

Sexto: podes usar o elemnnto 0 para Janeiro, 1 para Fevereiro, ..., 11 para Dezembro e seguir a nomenclaura base do C; em vez de inventares aquele mes 0 sem dias.

Edited by pmg

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
pedrugoncalves

se o MI==MF esta formula nao entra so serve para meses diferentes, usei dois por causa dos anos diferentes, estou um bocado sem soluções, penso que se resolve com um ciclo for mas nao sei como o fazer. imaginemos que o MI é janeiro e MF é fevereiro o que eu quero é que ele faça 31+28

Share this post


Link to post
Share on other sites
pedrugoncalves

#include <conio.h>
#include <stdio.h>


int main ()
{
int i, soma ;
int v[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};

for(i=0; i<6; i++)
soma=soma+v[i];

   printf("%d", v[i]);


return 0;
}

apenas me dá os dias do mes que estiver i<6

Edited by pmg
GeSHi

Share this post


Link to post
Share on other sites
pedrugoncalves

#include <conio.h>
#include <stdio.h>


int main ()
{
int i, soma=0;
int v[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};

for(i=3; i<5; i++)
soma=soma+v[i];

   printf("%d", soma);


return 0;
}

neste ja me conta como quero mas tenho um problema ainda, se for anos diferente ele tem que voltar a contar do inicio e essa parte nao faço mesmo ideia de como fazer

Edited by pmg
GeSHi

Share this post


Link to post
Share on other sites
KiNgPiTo

Não estou a perceber bem a prática em si do código, mas se o teu problema é percorrer os arrays dentro de v podes meter mais um ciclo..

#include <conio.h>
#include <stdio.h>


int main ()
{
int i, j, soma=0;
int v[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,28,31,30,31,30,31,31,30,31,30,31}};

for(j=0; j<2; j++)
 for(i=3; i<5; i++)
 soma=soma+v[j][i];

printf("%d", soma);

return 0;
}

Edit: Usa as tags de código, fica mais fácil de ler...

Edited by KiNgPiTo

Share this post


Link to post
Share on other sites
pmg

neste ja me conta como quero

Fixe!

Agora só tens que transformar o programa numa função de modo a que a possas usar várias vezes para meses diferentes (possivelmente introduzidos pelo utilizador).

Quanto à questão dos anos, pensa em somar os meses todos (de Janeiro a Dezembro) e acrescentar esse total as vezes necessárias.


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


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