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;
}
#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


0