suzy Posted December 6, 2007 at 08:07 PM Report #152724 Posted December 6, 2007 at 08:07 PM 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 ?? obrigada
saunde Posted December 6, 2007 at 08:27 PM Report #152729 Posted December 6, 2007 at 08:27 PM Não percebi :S Mas o que é que realmente queres somar ? Não é os X dos pontos todos ? Se não.. para que é o tamanho e o que desejas fazer realmente.... Um blog :Sem Cafeína
suzy Posted December 6, 2007 at 08:40 PM Author Report #152733 Posted December 6, 2007 at 08:40 PM :)pois isso o tam e engano, e de eu andar a tentar fazer mta vez o que eu quero e somar os valores x das 2 estruturas. mas atraves de ciclos.
maeDaSol Posted December 6, 2007 at 08:51 PM Report #152739 Posted December 6, 2007 at 08:51 PM 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?
saunde Posted December 6, 2007 at 08:52 PM Report #152740 Posted December 6, 2007 at 08:52 PM 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
suzy Posted December 6, 2007 at 09:51 PM Author Report #152763 Posted December 6, 2007 at 09:51 PM 🙂 mae de sol e isso mesmo que quero thanks
TheDark Posted December 7, 2007 at 02:05 AM Report #152821 Posted December 7, 2007 at 02:05 AM Fiquei curioso... afinal qual é a solução para o que pretendes? :🙂 Desaparecido.
maeDaSol Posted December 7, 2007 at 04:26 PM Report #152900 Posted December 7, 2007 at 04:26 PM 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now