Programación General > C/C++
Re: tamaño de un array
jpastor:
Bueno, en realidad yo acabe diciendo que si tiene sentido. Aca va un ejemplo:
int ArrayDeEnteros[] = {1, 2, 3, 2, 1};
int iNumElementos = sizeof (ArrayDeEnteros);
De lo otro no tengo mucha idea, solo decir que la declaracion de ArrayDeEnteros que he hecho reserva una zona de memoria determinada en tiempo de compilacion por lo que luego no puede variar.
Un puntero como:
BYTE *pArray = (BYTE *)malloc(40);
se comporta como un array pudiendo acceder a cada elemento con el operador [].
maltalara:
: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;
}
Navegación
[*] Página Anterior
Ir a la versión completa