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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  me podrian decir que le falta a estos codigos porfa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: me podrian decir que le falta a estos codigos porfa  (Leído 1,457 veces)
lucas85

Desconectado Desconectado

Mensajes: 2


Ver Perfil
me podrian decir que le falta a estos codigos porfa
« en: 26 Octubre 2010, 05:52 am »

#include <iostream>
using namespace std;
int main()
{
int* int_op1;
int* int_op2;
delete* dbl_op1;
char* chr_op1;
//asignar memoria la direccion de numero se
//almacena en los apuntadores
int_op1=new int:
int_op1=new double;
//el valor se almacena en la pila dinamica
*int_op1=10;
cout<<*int_op1;//imprime 10
*dbl_op1=22.50//el valor se almacena ahora
//en una pila
cour<<*dbl_op1;//imprime 22.50
//asigna e inicializa memoria para almacenar un entero
int_op2=new int(44); int_op2 =(int*)malloc(size of (int));
cout<<*int_op2;
//asigno 256 bytes a la pila la direccion de comienzo se almacena en chr_op1
chr_op1=new char[2%];
strcpy(chr_op1, "ico441");
//devuelve la cantidad de memoria
delete int_op1;
delete int_op2;
delete dbl_op1;
delete[]char_op1;
____________________________________________________________________
#include <iostream>
using namespace std;
const int true=1;
const int true=0;
void insertar(struct nodo**hd, int item)
{
struct nodo *actual,*anterior,*nuevo;
int encontrado;
if(*hd==null)
{
nuevo=new nodo;
if(nuevo==null)
{
cout<<"no hay espacio";
exit(1);
}
nuevo->valor=item;
nuevo->siguiente=null;
*hd=nuevo;
}
else if(item<(*hd)->valor)
{
nuevo=new nodo;
if(nuevo=null)
{
cout<<"no hay memoria";
exit(1);
}
nuevo->valor=item;
nuevo->siguiente=*hd;
*hd=nuevo;
}
//caso general en el mejor
else
{
nuevo=new nodo;
if(nuevo==null)
{
cout<<"no hay espacio";
exit(1);
}
//asigna nuevo valor
nuevo->valor=item;
//el apuntador anterior comienza al inicio de
//la lista
anterior=*hd;
//actual apunta al segundo nodo de la lista
actual=*hd->siguiente;
encontrado=false;
//busca en la lista el punto de inserción
while(actual !=null && encontrado==FALSE)
{
if(item>actual->valor)
{
//anterior apunta al segundo nodo
anterior=actual;
//actual apunta al proximo nodo
actual=actual->siguiente;
}
else
encontrado=TRUE;
}
//modificar los apuntadores para efectuar la insercion
nuevo->siguiente=actual;
anterior->siguiente=nuevo;
}
}
____________________________________________________________________
#include <iostream>
using namespace std;

struct nodoE
{
int valor;
struct nodo *siguiente;
}
int main()
{
struct nodoE *inicio;
inicio=NULL;
int val.cont=1;
while(cont==1)
{
cout<<"valor a introducir";
cin>>val;
insertar(&inicio,valor);
cout<<"continuar?";
cin>>cont;
}
}
____________________________________________________________________
#include <iostream>
using namespace std;
struct nodoE;
{
int valor;
struct nodo *siguiente;
}
int main()
{
struct nodoE *inicio;
inicio=null
int val, cont=1;
while(cont==1)
{
cout<<"valor a introducir";
cin>>ral

//recorrer la lista ligada
void recorrido(struct  nodo *hd)
{
struct nodo*actual;
actual=hd//se inicializa el primer nodo
while(actual !=null)
{
cout<<"actual->valor<<endl;
actual=actual->siguiente ;//se brinca al siguiente
}
____________________________________________________________________
void eliminar (struct nodo **hd,int item)
{
struct nodo *temp, *anterior, *actual;
//borra el primer nodo de la lista
if(item==(*hd)->valor)
{
temp=*hd;
//guarda el valor de inicio
*hd =(*hd)->siguiente; //modifica el valor de inicio
delete(temp);//borra el nodo de la memoria
}
else
{
//anterior apunta el primer nodo de la lista
anterior=*hd;
//actual apunta al segundo nodo de la lista
actual=(*hd)->siguiente;
//busca el elemento en la lista
while(actual->valor !=item && actual !=null)
{
actual=actual->siguiente;//apunta al sig. nodo
anterior=anterior->siguiente;//apunta al sig. nodo
}
if(actual !=null)
{
//modificar el apuntador en el punto de borrado
temp=actual;
anterior->siguiente=actual->siguiente;
delete(temp);//libera la memoria
else{
cout<<"Elemento no encontrado en la lista";
fflush(stdin);
cin.get();
}
}
}


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


Swif EME


Ver Perfil WWW
Re: me podrian decir que le falta a estos codigos porfa
« Respuesta #1 en: 26 Octubre 2010, 06:00 am »

Código
  1. print "Poner el código dentro de la etiqueta GeSHI"
  2. print "Estructura el código"
  3. if (tienes errores){
  4.  print "Mostrarlos"
  5. }else{
  6.  print "Para qué preguntas"
  7. }


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: me podrian decir que le falta a estos codigos porfa
« Respuesta #2 en: 26 Octubre 2010, 23:52 pm »

¡Buenas!

Si que he visto algun error en el primer codigo... (no he segguido leyendo porque la verdad resulta muy incomodo.

Utiliza las etiquietas GeSHi que hay despues de la primera fila de botones para escoger el lenguaje que utilizas y pega tu codigo justo entre las dos etiquetas que te salen. Asi se resaltara el codigo y sera mucho mas facil leerlo.

Otra cosa que debes hacer como bien ten han dicho, es que cada vez que tengas codigo entre dos llaves, o en un if o cualquier otra estructura, es añadir una tabulacion que dependa de eso. Asi tambien se leera mucho mas facil.

Cuando hagas eso con el codigo que has puesto podremos seguir ayudandote.

De momento puedo decirte que en el primer codigo, has asignado varias veces memoria dinamicamente a algunos de los punteros sin haberla liberado anteriormente. Esto es como todo. Lo usas, cuando no quieras usarlo lo liberas, y luego buelves a usarlo de nuevo.

Tambien estas mezclando asignacion de memoria al estilo de C y de C++, eso no debes hacerlo nunca. En C++ tiene new y delete que son mucho mas comodos de manejar que malloc y free...

Corrige lo que se te ha dicho y te indicaremos lo que puede fallar en tu codigo.

¡Saludos!
En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
hola me podrian decir que son??
Seguridad
eclipseluna 1 1,404 Último mensaje 4 Septiembre 2011, 11:24 am
por Randomize
duda con estos codigos
Seguridad
marcelo2009 2 1,914 Último mensaje 3 Diciembre 2011, 06:37 am
por G3rl0
me podrian revisar estos programas « 1 2 »
Programación C/C++
eduardo17445 19 4,706 Último mensaje 7 Mayo 2013, 22:35 pm
por cypascal
Tiendas en línea podrían estar revendiendo códigos de juegos de los Humble ...
Noticias
wolfbcn 0 1,009 Último mensaje 30 Marzo 2014, 22:07 pm
por wolfbcn
¿Cómo mejorar estos códigos?
PHP
Richter{}; 1 1,149 Último mensaje 16 Noviembre 2014, 00:09 am
por dimitrix
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines