1
« en: Viernes 26 de Abril de 2002, 02:12 »
:para ver el tamaño de un array segun los elementos que hayas introducido es:
la libreria creo es
#include <conio.h>
#include <string.h>
#include <ctype.h>
int x;
x = strlen(cadena);
strlen lee la longitud de la cadena.
o si no quieres usar strlen puedes usar el siguiente codigo en C++:
#include <iostream.h>
#include <ctype.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
class digitos
{
public:
digitos(int *,int,char *);
void setdatos();
void imprime();
void getdatos();
private:
int x[50], res;
char z[50];
};
//constructor
void digitos::digitos(int xx[50],int respuesta,char zz[50])
{
int y;
for (y=0; y<50; y++)
{
x[y] = xx[y];
}
strcpy(z,zz);
res = respuesta;
}
void digitos::setdatos()
{
int y;
clrscr();
cout<<"***LONGITUD DE LA CADENA***"<<endl;
leo cadena de caracteres
cout<<"introduce un numero: "<<endl;
cin>>z;
for (y=0; y<=z[y]; y++)
{
if (z[y] < 48 || z[y] > 57 )
{
cout<<"error";
getch();
abort();
}
}
}
void digitos::getdatos()
{
int y;
for (y=0; y<=z[y]; y++)
{
// convierto cadena de caracter a enteros
x[y] = int(z[y]) - 48;
y hago la suma mediante bucle for
res += 1;
}
}
void digitos::imprime()
{
cout<<"el resultado es: "<<res;
}
main()
{
char op;
do {
//inicializo variables privadas
digitos ob(0,0,"1/0");
clrscr();
textbackground(BLACK);
textcolor(BROWN);
ob.setdatos();
ob.getdatos();
ob.imprime();
op = toupper(getch());
} while (op != 27);
//bucle while termina hasta que sea
igual a SALIR=ESC
return 0;
}