Jump to content

estruturas,somar valores de varias estruturas


Recommended Posts

Posted

:wallbash:

malta, tou com uma grande duvida!

é assim

tenho uma estrutura:



struct ponto{
        int x;
        int y;
        };

tenho um array de pontos( que nao e mais que um vector de estruturas), quero somar o valores x, da estrutra 1 com a estrutura 2

exemplo:

estrututa1    estrutura 2

x=1              x=2

y=2              y=9

o que eu quero é somar ambos os x;

tipo  x +x= 1+2 =3

fiz assim e claro da correcto



#include<stdio.h>

struct ponto{
        int x;
        int y;
        };
        
        
        
  // funcao soma que soma os valores x da 1 e 2 estrutura
  
        int soma(struct ponto array[],int tam){
              int i,j,soma=0;
             
                 soma=soma+(array[0].x)+(array[1].x);
                 
               
                 
                return soma;
               }      
        
        
        
main(){

struct ponto vet[2]={{1,2},{2,4}};
int x;
x=soma(vet,2);
printf(" a soma e %d\n",x);

}
           

o meu problema é! e se o meu vector tem por exemplo 100 estruturas ???

ja tou farta de tentar somar atraves de ciclos, mas da-me a soma dos valores todos, ou seja no array todo, nao soma a estrutra 1 com a estrutura 2, nem a estrutura dois coma estrutura 3 e assim sucessivamente.  🙂

alguem me pode ajudar a esclarecer isto ?? :wallbash:

obrigada

Posted

olá

tb tou a achar complic o teu probl

por ex:

tens

ponto1        ponto2          ponto3

x=1            x=4                  x=5

y=2            y=3                  x=6 ..

queres obter

soma1= ponto1.x+ponto2.x

soma2= ponto2.x+ponto3.x

soma3= ponto3.x+ponto4.x

...

é isto o q queres?

Posted

Mas para quê o ciclo ? Assim como está não está bem ? Não precisa de ciclo.... o máximo que podes fazer é passar por parâmetro por exemplo os índices das estruturas que queres somar por exemplo.. para n teres k afectar o valor lá dentro, assim vai como parâmetro e fica com maior liberdade, pois dá para somares quaisquer duas estruturas.

Um blog :Sem Cafeína

Posted

ponto1        ponto2          ponto3

x=1             x=4                  x=5

y=2             y=3                   x=6 ..

queres obter

soma1= ponto1.x+ponto2.x

soma2= ponto2.x+ponto3.x

soma3= ponto3.x+ponto4.x

...

é isto o q queres?

olá de novo

se queres fazer isto  tens q criar um vector com N-1 posições e com ciclo vais fazer as somas.

do tipo:


typedef struct{
   int x;
   int y;
}ponto;

int main (int argc, char *argv[])
{
    int i; 
    ponto v [10];
    int soma[9];


  for (i=0; i<10;i++){
      v[i].x=i;
      v[i].y=i+1;  
      }
   
  for (i=0; i<9;i++)   
      soma[i] = v[i].x + v[i+1].x;
   
    for (i=0; i<9;i++)    
        printf("soma[%d]=%d\n", i ,  soma[i]);  

espero q isto ajude mesmo.

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.