C/Visual C - Tengo un problema

 
Vista:

Tengo un problema

Publicado por Enrique (2 intervenciones) el 12/05/2008 20:08:31
tengo un pequeño problema, tengo que comprovar a ver si son anagramas(si dos palabras contienten la misma letra ejem roma-mora) o no, pero no me salen de ninguna manera. me podrias ayudar?? gracias. aqui os dejo el programa

#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <string.h>

using namespace std;
int anagramas(char par1[20],char par2[20]);
int main(int argc, char *argv[])
{
char par1[20];
char par2[20];
int resul;

printf("Introdueix la primera paraula ");
gets(par1);
puts(par1);

printf("Introdueix la segona paraula ");
gets(par2);
puts(par2);
printf("%i",strlen(par1));
resul=anagramas(par1,par2);
if (resul==1)
printf("son anagrames ");
else
printf("no son anagrames ");

system("PAUSE");
return EXIT_SUCCESS;

}

int anagramas(char par1[20],char par2[20])
{
int i;
int x;
char c;
int prova=0;
char *valor;
if(strlen (par1) == strlen (par2))
{
for(i=0;i<strlen(par1);i++)
{
c=par1[i];
printf("%c ",c);
valor=strchr(par2,c);
if (valor == "NULL")
prova=1;
}
printf("%i ",prova);
if (prova==0)
return 1;
else
return 0;
}
else
return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Tengo un problema

Publicado por Ezequiel (4 intervenciones) el 13/05/2008 01:43:24
#include <stdio.h>
#include <string.h>

//using namespace std;
int anagramas(char par1[],char par2[]);

int main()
{
char par1[20];
char par2[20];
int resul;

printf("Introdueix la primera paraula ");
gets(par1);
puts(par1);

printf("Introdueix la segona paraula ");
gets(par2);
puts(par2);
printf("%d",strlen(par1));
resul=anagramas(par1,par2);
if (resul==1)
puts("son anagrames ");
else
puts("no son anagrames ");

// system("PAUSE");
return 0;

}

int anagramas(char par1[],char par2[])
{
int i;
int x;
char c;
int prova=0;
char *valor;
if(strlen (par1) == strlen (par2))
{
for(i=0;i<strlen(par1);i++)
{
c=par1[i];
printf("%c ",c);
valor=strchr(par2,c);
if (valor == NULL)
prova=1;
}
printf("%i ",prova);

if (prova==0)
return 1;
else return 0;
}
else
return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tengo un problema

Publicado por Tom (619 intervenciones) el 13/05/2008 11:55:39
Prueba con "aabbccddee" y "abcderrrrr".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tengo un problema

Publicado por Enrique (2 intervenciones) el 13/05/2008 11:57:31
el valor NULL tiene que ir sin las comillas, basta eso, pero he dado de vueltas.... muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar