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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 [45] 46
441  Programación / Programación C/C++ / Re: necesito ayuda con un programita por favor! en: 1 Febrero 2011, 21:35 pm
No soy partidario de "hacer ejercicios" (de hecho, es norma del foro no hacer tarea :P) pero por mi cuenta va también porque te estaría ayudando poco y nada.

Por eso solo te voy a dar unas pistas.
Primero, necesitaría saber que es exactamente lo que no entiendes.

¿Sabes lo que es una estructura? Si no sabes eso, no puedes hacer el ejercicio. Busca lo que es en cualquier libro de programación en C.

¿Sabes declarar una estructura? Si no sabes eso, no puedes hacer el ejercicio. Busca lo que es en cualquier libro de programación en C.

¿Sabes acceder a cada uno de los campos de una estructura? Si no sabes eso, no puedes hacer el ejercicio. Busca lo que es en cualquier libro de programación en C.

¿Sabes asignar valores a los campos de una estructura? Si no sabes eso, no puedes hacer el ejercicio. Busca lo que es en cualquier libro de programación en C.

Habiendo hecho estos 4 puntos, el problema está resuelto.

PD: Puedes cambiar "en cualquier libro de programación en C" por "Internet" o por "foro.elhacket.net" :P
442  Programación / Programación C/C++ / Re: Ayuda con "Copia de archivos" que aparece en el manual de Kernighan and Ritchie en: 29 Enero 2011, 22:17 pm
De http://es.wikipedia.org/wiki/EOF :

"La interpretación de C como resultado de la operación de lectura en caso de ser EOF es, por lo general, -1."

Así que no estás tan loco :P
443  Programación / Programación C/C++ / Re: Ayuda con "Copia de archivos" que aparece en el manual de Kernighan and Ritchie en: 29 Enero 2011, 21:02 pm
Si, revisa tu algoritmo. El ciclo itera siempre y cuando c sea distinto de EOF.
Por ende, este saldrá del ciclo cuando c sea igual a EOF.
Ahora bien, ya sabes que luego de salir del ciclo, tendrás EOF en la variable c. Lo único que queda por hacer es imprimirla en la pantalla.
Escribe una sentencia que imprima en la pantalla la variable c. Y listo ^^
Saludos!
444  Programación / Programación C/C++ / Re: Ayuda con "Copia de archivos" que aparece en el manual de Kernighan and Ritchie en: 29 Enero 2011, 20:16 pm
Lo que estás haciendo con dicha función es ir tomando caracter a caracter de un archivo (en este caso, stdin, el archivo de entrada por defecto; es decir, la consola), y pegándolos (en este caso también en el archivo de salida por defecto, la consola).

Para que te quede un poco más claro, si utilizas este algoritmo y getchar() en un archivo de texto plano (.txt por ejemplo), de cualquier lugar de tu computadora, copiará el contenido del archivo de texto y lo pegará en la pantalla (puede ser otro archivo de texto, o también la consola). Pero para aprender esto necesitarás saber manejo de archivos (no recuerdo si hay algo relacionado en el libro de K&R).

Con respecto a tu punto 2). EOF hace referencia a End Of File. Cuando estás leyendo un archivo, y éste termina (por ejemplo, termina de leer todo un texto en el .txt) hay una marca llamada EOF, que le avisa al programa que ese archivo ha llegado a su fin. Este se lee con por ejemplo, getchar() y posee un valor. Cuando llega a ese valor, en el algoritmo que tu escribiste, sale del ciclo, y deja de leer, puesto que sabe que llegó a su fin.
445  Programación / Programación C/C++ / Re: operador de modulo en: 27 Enero 2011, 03:40 am
"++" es un operador unario que se aplica a una variable para incrementar en 1 unidad el valor de dicha variable.

"i++" incrementa en 1 el valor de i.
446  Programación / Programación C/C++ / Re: Problemas con punteros en listas. en: 4 Enero 2011, 14:16 pm
Bueno, es que al desreferenciar dicha variable sin paréntesis estás desreferenciando nodoe->next, y lo que tu quieres desreferenciar es solo nodoe, el cual es un puntero a puntero de struct. Tu quieres hacer: (**nodoe).next == (*nodoe)->next.
Si le quitas los paréntesis, es como hacer *(nodoe->next) lo cual es un error porque no existe ningún campo en la variable (*nodoe) ya que es sólo un puntero a struct (debes desreferenciar solamente nodoe nuevamente para acceder a la struct correspondiente y al campo next en ella).

Espero que se haya entendido!
Salú!
447  Programación / Programación C/C++ / Re: Problemas con punteros en listas. en: 4 Enero 2011, 04:42 am
Tienes que usar paréntesis!!!

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct listacompleta {
  5.         int dato;
  6.         struct listacompleta *next;
  7.        }lista;
  8.  
  9.  
  10. void add_nod(lista **nodoe, int dato){
  11. lista *nuevo,*aux;
  12. nuevo = (lista *) malloc (sizeof(lista));
  13. nuevo->dato = dato;
  14. aux = *nodoe;
  15. if(*nodoe == NULL ){
  16.             nuevo->next = nuevo;
  17.             *nodoe = nuevo;
  18.            } else{
  19.               *nodoe = (*nodoe)->next;
  20.               nuevo->next = aux->next;
  21.               aux->next = nuevo;
  22.              }
  23. }
  24.  
  25.  
  26.  
  27. int main(){
  28. lista *nodoe;
  29. nodoe = NULL;
  30.  
  31. add_nod(&nodoe,8);
  32. add_nod(&nodoe,2);
  33. add_nod(&nodoe,3);
  34. add_nod(&nodoe,5);
  35.  
  36. system("pause");
  37. return 0;
  38.  
  39. }
448  Programación / Programación C/C++ / Re: Graficar con '*' en C++ ecuacion cuadratica en: 3 Enero 2011, 19:52 pm
El caso es que parece que mezcla conceptos diferentes. Por el post se entiende que se refiere a la ecuación de segundo grado de toda la vida, que sin contar los casos degenerados siempre es una parábola como bien se ha dicho.

Sin embargo, por lo que dice sobre decir si es una parábola, hipérbola o elipse, me hace pensar que quizá lo que quiera hacer sea clasificar una cónica según sus invariantes métricos, cuyas ecuaciones también son funciones cuadráticas, sólo que de dos variables.

Es exactamente esto que dices.
Discriminante de una sección cónica: "http://es.wikipedia.org/wiki/Discriminante#Discriminante_de_una_secci.C3.B3n_c.C3.B3nica"

449  Programación / Programación C/C++ / Re: Graficar con '*' en C++ ecuacion cuadratica en: 2 Enero 2011, 23:52 pm
Mi profesor de matemáticas te habría corregido diciéndote que en R^2 o en dos dimensiones, al decir "plano" hablamos de otra dimensión.

No habría que seguir desvirtuando pero... 1 dimension = R = recta real.
2 dimensiones = R^2 = plano. (plano xy genéricamente)
3 dimensiones = R^3 = espacio.

Al menos para mí está bien dicho :P
450  Programación / Programación C/C++ / Re: Acceder a una matriz dentro de una estructura ? en: 2 Enero 2011, 20:12 pm
Eso no compila. No estás accediendo adecuadamente a la matriz.
La variable disco es un puntero a struct ejemplo, no es la estructura en sí.
Podés acceder utilizando disco->matriz[][].

El utilizar "->" es lo mismo a utilizar (*disco).matriz[][].
Es decir, para acceder a la matriz, primero tenés que desreferenciar el puntero utilizado.

EDIT: Hay otro error. Le estás pasando a la función "llenado" un struct ejemplo, y lo que en realidad espera es un puntero a un struct ejemplo.
Entonces podés hacer dos cosas. Podes modificar el parámetro de la función, borrándole el asterisco para que no espere un puntero (y compilaría):

Código
  1. #include <iostream>
  2. #include <string.h>
  3. using namespace std;
  4. struct ejemplo{
  5.       char matriz[5][5];
  6.       };
  7. void llenado(struct ejemplo *disco)
  8. {
  9.     strcpy(disco->matriz[0],"a"); /*Aqui es donde querria acceder, pero no me deja*/
  10. }
  11. int main(void)
  12. {
  13.    int asd;
  14.    struct ejemplo llamada;
  15.    llenado(&llamada);
  16.    cout<<llamada.matriz[0];
  17.  
  18.    cin>>asd;
  19. }

O podés referenciar el argumento cuando llamás a la función:

Código
  1. #include <iostream>
  2. using namespace std;
  3. struct ejemplo{
  4.       char matriz[5][5];
  5.       };
  6. void llenado(struct ejemplo *disco)
  7. {
  8.     strcpy(disco->matriz[0], "a"); /*Aqui es donde querria acceder, pero no me deja*/
  9. }
  10. int main(void)
  11. {
  12.    int asd;
  13.    struct ejemplo llamada;
  14.    llenado(&llamada);
  15.    cout<<llamada.matriz[0];
  16.  
  17.    cin>>asd;
  18. }
Páginas: 1 ... 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 [45] 46
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines