Dev - C++ - PROGRAMA C NO COMPILA

   
Vista:

PROGRAMA C NO COMPILA

Publicado por Florencia (1 intervención) el 17/07/2008 19:54:33
Les dejo un programa simple que debe crear dos cadenas (una con los dígitos, otra con letras) a partir de una cadena y un carácter- Los digitos antes del carácter deben estar en la cadena dígitos, y las letras que están luego del carácter deebn incluirse en la cadena letras... No encuentro el error !!! Y una consulta más: al pasar una cadena paso la direccion al primer elemento...modificar el ptr no es ilegal en la función? por qué? Es decir si len el main al nombre del arreglo le asigamos otro ptr es ilegal...pero al pasarlo a una función, es correcto, por ejemplo, incrementarlo? No pierdo la dirección del elemento inicial?

#include<stdio.h>
#include<string.h>
#include <ctype.h>

int Separar(char *, char, char*,char*,int*);

int main (){
printf("A VER SI FUNCIONA ");
char dig[10];
char let[10];
char cad[]="4g7574GABD4";
puts(cad);
int n=0,i;
if (i=Separar(cad,'G', dig,let,&n))
printf("ERROR ");
else {
puts(dig);
puts(let);
printf("la candidad de digitos es %d", n);}
getchar();
'>';
return 0;}

int Separar (char * origen, char c, char* letras, char*digitos, int* ndigit){
int j,i;
digitos='';
letras='';
int n=0;
for (i=j=0; (origen[i]!= '') && (origen[i]!=c);i++)
if ((origen[i]<='9') && (origen[i]>='0')){
digitos[j++]=origen[i];
(*ndigit)++;
}
printf(" %d",*ndigit);
if (origen[i]==''){
digitos='';
return 1;}
digitos[j]='';
for(j=0;origen[i]!='';i++)
if (((origen[i]>='a') && (origen[i]<='z')) || ((origen[i]>='A') && (origen[i]<='Z')))
letras[j++]=origen[i];
letras[j]='';
return 0;
} /*end of function*/
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