Jump to content

Exercicio de C


Pedro M Afonso
 Share

Recommended Posts

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 by pwseo
limpeza de formatação, syntax highlight.
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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

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

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
 Share

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