Pedro M Afonso Posted January 1, 2016 at 06:38 PM Report Share #591179 Posted January 1, 2016 at 06:38 PM (edited) Desenvolva uma função, que receba dois arrays de inteiros (e respectiva dimensão) e verifique se estes são iguais. A função deve devolver 1 se os dois arrays forem iguais ou devolver 0 se forem diferentes. Considere que dois arrays são iguais se, na mesma posicão,tiverem elementos com o mesmo valor. Gostaria que me dissessem se a minha resolução está totalmente correcta! Coloco isto aqui, porque penso que falta algo!Obrigado Resolução: #include<stdio.h> #define N 100 int compara(int vetor1[N],int vetor2[N]){ int i,verifica; verifica=0; for(i=0;i<N;i++){ if(vetor1[i] == vetor2[i]){ return 1; } else{ return 0; } } } Edited January 1, 2016 at 06:51 PM by pwseo limpeza de formatação, syntax highlight. Link to comment Share on other sites More sharing options...
pwseo Posted January 1, 2016 at 06:59 PM Report Share #591181 Posted January 1, 2016 at 06:59 PM Pedro M Afonso, Testaste a tua solução? Se não, testa-a. Se sim, o que achaste estranho? (sim, tens erros, mas quero saber até que ponto te apercebeste deles) Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted January 1, 2016 at 09:07 PM Report Share #591184 Posted January 1, 2016 at 09:07 PM não vou falar de erros de código, vou só referir um problema de falta de atenção. ler o enunciado completo e fazer o que ele pede é meio caminho andado para ter uma solução correta, e para tal, friso esta secção: Desenvolva uma função, que receba dois arrays de inteiros (e respectiva dimensão) e verifique se estes são iguais. IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Pedro M Afonso Posted January 2, 2016 at 10:26 AM Author Report Share #591192 Posted January 2, 2016 at 10:26 AM não posso assumir o N ,como sendo a "dimensão"?.. ainda não testei!mas vou testar !Obrigadão! Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted January 2, 2016 at 10:48 AM Report Share #591194 Posted January 2, 2016 at 10:48 AM o que o enunciado parece dizer é que não podes assumir nada, o tamanho é um argumento da função IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Pedro M Afonso Posted January 2, 2016 at 10:53 AM Author Report Share #591195 Posted January 2, 2016 at 10:53 AM sendo assim, tenho que fazer um "#define TAM 100 e depois para receber os argumentos .. "int compara(int vetor1[TAM],int vetor2[TAM]) Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted January 2, 2016 at 11:01 AM Report Share #591196 Posted January 2, 2016 at 11:01 AM não int compara(int* vector1, int* vector2, int tamanho) IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Pedro M Afonso Posted January 2, 2016 at 05:27 PM Author Report Share #591207 Posted January 2, 2016 at 05:27 PM Já entendi o meu erro, pura distração.. 😕 #include<stdio.h> #define tam 100 int compara(int* vetor1,int* vetor2,int tam) { int i,verifica; verifica=0; for(i=0;i<tam;i++){ if(vetor1[i] != vetor2[i]){ return 0; } } return 1; } Aqui está a minha resolução , para se alguêm quiser ver, basicamente o return 1 terá que ser colocado fora do ciclo!Muito obrigado a todos pelo esclarecimento e bom ano! . Link to comment Share on other sites More sharing options...
pwseo Posted January 2, 2016 at 05:28 PM Report Share #591208 Posted January 2, 2016 at 05:28 PM Pedro M Afonso, Continuas a ter um problema: no ciclo estás a perfazer N iterações, sem ligar nenhum ao tamanho dos arrays (tam). E para que serve a variável verifica? Link to comment Share on other sites More sharing options...
Pedro M Afonso Posted January 2, 2016 at 06:52 PM Author Report Share #591217 Posted January 2, 2016 at 06:52 PM A variável verifica não serve para nada, no entanto não entendi o porquê de ter dito, será que podia explicar melhor? Link to comment Share on other sites More sharing options...
pwseo Posted January 2, 2016 at 07:14 PM Report Share #591218 Posted January 2, 2016 at 07:14 PM Se a variável verifica não serve para nada, então deverá ser removida. Relativamente ao resto, quando comentei o teu código ainda estavas a utilizar N dentro do ciclo, algo que corrigiste no momento exacto em que eu coloquei o meu comentário. Essa parte já se encontra resolvida, portanto. Não faz sentido, no entanto, utilizares #define tam 100, uma vez que o objectivo é isso ser um dos argumentos da função e não um valor literal. Link to comment Share on other sites More sharing options...
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