elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8] 9
71  Programación / Programación C/C++ / Re: como hacer este programa? en: 16 Marzo 2011, 17:44 pm
ya saque el promedio tambien
me podria decir como se le hace para llamar los datos algun alumno con su matricula.

Intenta expresárte bien porque si no, no te podemos ayudar  :-\
72  Programación / Programación C/C++ / Re: Ayuda en: 16 Marzo 2011, 17:35 pm
El programa te falla en que sólo introduces un número en la posición cadena[10], que además está fuera del rango de tu vector ya que las posiciones van de 0 a 9. Debes hacer un bucle que las recorra todas y por cada una introducir el valor deseado.
73  Programación / Programación C/C++ / Re: Ayuda en: 16 Marzo 2011, 16:46 pm
Pollo no des el trabajo echo que si no , no aprenden xD.

Mira que he pensado en no escribir el código, pero no sé, me he sentido generoso  :xD
74  Programación / Programación C/C++ / Re: Ayuda en: 16 Marzo 2011, 16:41 pm
Debes hacer un bucle que recorra todas las posiciones del array y tienes que tener una variable contador que vaya contando (valga la redundancia) el número de nueves que tienes. Podría ser algo así:

Código:
int nueves=0; //Este será el contador. Lo inicializamos a 0.

for(i=0; i<10; i++){
   if(cadena[i] == 9){
      nueves++;
   }
}

Con el bucle "for" recorremos toda la estructura y con el condicional "if" preguntamos si el valor contenido en esa posición es igual que 9, si lo es, se incrementa el contador.
75  Foros Generales / Foro Libre / Re: Internet Explorer 9 no será compatible con Windows XP en: 16 Marzo 2011, 14:04 pm
Ignorancia por que? Si yo creo que el IE es cómodo y me sirve, debo de usar otro navegador porque tu creas que los otros son mejores :huh:

Saludos

Tranquilos, no hace falta que me comáis  :xD

Lo de ignorantes lo he dicho porque muchísima gente no está informada y por ello se quedan con el primer navegador que ven cuando abren Windows. Y cuál es? Pues IE. Si supiesen que existen otros navegadores con características diferentes e incluso mejores, ya veríamos si IE seguiría donde está.
76  Programación / Programación C/C++ / Re: Uso de matrices o vectores de punteros en: 16 Marzo 2011, 01:19 am
Hay dos formas de declarar vectores o matrices en C/C++. Una de ellas es declararlos de forma estática, tal que así:

Código
  1. [tip] vector[tam];
  2.  
  3. //[tip] es el tipo de dato que contiene el vector
  4. //tam es el tamaño (el número de "casillas") que va a tener dicho vector

Este tipo de declaración se caracteríza por el hecho de que el vector se crea justo al comienzo de la función que se está ejecutando y tiene un tamaño invariable. En este tipo de declaración no puedes meter más elementos que "casillas" tiene el vector, pero si puedes meter menos, con el consecuente desperdicio de memoria que produce al ser estático y no poder variar su tamaño.
Para las matrices estáticas sería algo parecido, pero con dos tamaños:

Código
  1. [tip] matriz[filas][columnas]
  2. //[filas] es el número de filas que va a tener la matriz. Idem para [columnas]

Para acceder a la "casilla" de un vector estático sólo hay que saber la posición de dicha "casilla", teniendo en cuenta que empieza desde 0. Por ejemplo:

Código
  1. vector[4]=7
  2. //Estamos metiendo en la "casilla" 5 el valor 7.

Por supuesto, cada "casilla" del vector se puede operar con ella como si fuese una variable cualquiera.

En la declaración de vectores y matrices por punteros la cosa cambia. En este tipo de declaración el tamaño si es variable y podremos modificarlo a nuestro antojo.
Un puntero es una variable que apunta a otra variable. Sabiendo esto, para definir un vector por punteros, lo que debemos hacer primero es definir un puntero que inicialmente no apuntará a nada (realmente apuntará a basura) para después hacer que apunte a nuestro vector/matriz.

Primero declaramos el puntero:

Código
  1. [tip] *puntero;
  2. //En caso de ser un vector

Para reservar memoria para el vector al que queremos que apunte nuestro puntero, debemos usar la función "malloc" (si se trata de C) o la función "new" (si se trata de C++).
Si se trata de C haremos lo siguiente:

Código
  1. puntero = ([tip]*)malloc(tam*sizeof([tip])); //Si lo queremos con casting en C
  2. ó
  3. puntero = malloc(tam*sizeof([tip])); //Si lo queremos sin casting en C
  4. puntero = new [tip][tam] //Si se trata de C++

Malloc hace que todas las "casillas" que hemos declarado estén llenas de basura, para ello existe otra función llamada calloc que hace lo mismo que malloc pero inicializa las "casillas" a 0. Para añadir elementos al vector disponemos de la función realloc.
Y con esto ya tenemos definido nuestro vector dinámico en memoria.

El caso de la matriz es más complejo, ya que deberemos crear un puntero doble. Esto es un puntero que apunta a otro puntero. Esto es así, porque deberemos crear un puntero que apunte a un vector de punteros y hacer que cada "casilla" de este vector, apunte a una fila de la matriz. Algo así:


Para ello, debemos definir primero nuestro puntero doble:

Código
  1. [tip] **puntero;

Ahora reservamos tanta memoria para el vector de punteros como filas queremos que tenga la matriz:

Código
  1. *puntero = ([tip]*)malloc(num_filas*sizeof([tip])); // Aquí no tengo muy claro si sería [tip]* o [tip]**

Y por último, deberemos crear un bucle para ir reservándo memoria para cada "casilla" de ese vector:

Código
  1. for(i=0; i<num_filas; i++) puntero[i] = ([tip]*)malloc(num_columnas*sizeof([tip]));

Siempre que quieras añadir o quitar columnas, deberás ejecutar el bucle por seguridad para que al final unas filas no tengan más columnas que otras.
Y así, ya tenemos declarado nuestra matriz, con elementos de tipo [tip], en memoria.

En estos ejemplos últimos sólo he usado la sintaxis de C, si quieres hacerlo para C++, sólo tienes que cambiar la sintaxis por la que te puse en la declaración del primer vector unidimensional (la de "new").

En resumen: Los vectores estáticos se crean en tiempo de compilación y son de tamaño invariable y los dinámicos se crean en tiempo de ejecución y son de tamaño variable.

Ruego que si véis algún fallo me lo digáis para poder corregirlo.

Espero haberte sido de ayuda  ;D

Un saludo!



77  Foros Generales / Foro Libre / Re: Internet Explorer 9 no será compatible con Windows XP en: 16 Marzo 2011, 00:04 am
A ver si alguien que tenga Vista y lo haya probado me dice si cuando abre pestañas, también se le abre en la barra de tareas como si hubiera abierto más ventanas.

Por lo menos en W7 salen más solapas debajo de la solapa principal para poder elegir directamente la pestaña que quieres. En el W7 puede ser práctico porque no ocupa más espacio, pero en el Vista si puede ser más coñazo por ese hecho, el de ocupar más espacio en la barra.
78  Foros Generales / Noticias / Re: Bisbal aprovecha la tragedia de Japón para promocionar un concierto en Twitter en: 15 Marzo 2011, 20:26 pm
Denigrante, simplemente denigrante.
79  Programación / Programación C/C++ / Re: ¿Qué compilador usar para C y C++? en: 15 Marzo 2011, 19:15 pm
Una forma de resumir lo que dicho KeviSec es decir que el IDE es el entorno donde picas código. Es como un coche, la parte de dentro, donde te sientas y conduces es el IDE, y lo que transforma lo que tu quieres hacer con el coche son los pedales y las marchas, o lo que es lo mismo en este ejemplo, el compilador.
80  Programación / Programación C/C++ / Re: aclaracion de listas dobles enlazadas en: 15 Marzo 2011, 14:41 pm
Akai dónde está la declaración de la struct Lista en el 2º código? Yo sólo veo la de "boton"  :-\
Páginas: 1 2 3 4 5 6 7 [8] 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines