Jump to content

estruturas,somar valores de varias estruturas


suzy

Recommended Posts

: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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
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.