|
Mostrar Temas
|
Páginas: 1 2 [3] 4
|
21
|
Seguridad Informática / Materiales y equipos / Ayuda con Router D-LINK 300
|
en: 10 Agosto 2010, 22:22 pm
|
Hola tengo un problema con este router, lo que me sucedio es que lo desconecte y solo deje la conexión de internet de cable directa a la pc. El problema me sucedio cuando lo quise conectar de nuevo me aperece el icono que se acaba de conectar a internet , pero no me pernite ni conectarme desde mi pc y ni de mi laptop aqui les dejo una imagen: http://www.freeimagehosting.net/image.php?796b73ca03.jpg
Y cuando dejo directo solo la conexión de cable si conecta perfectamente , que podra ser , si alguien sabe le estaria muy agradecido.
|
|
|
22
|
Programación / Programación C/C++ / hey ayuda como guardo en un txt...
|
en: 25 Junio 2010, 01:35 am
|
mi codigo es el siguiente: void CODIGO(void) { FILE *archivo;
int i; char c; printf("El codigo en orden alfabetico:"); for(i=1; i<=MAX_N_S; i++) if(frecuencia[i]!=0) { c=inicio_reconstruccion(i); if(c==' ') printf("\n\tEspacio"); else if(c=='\n') printf("\n\tLinea"); else printf("\n\t%c",c); if(codigo[i]==NULL) printf("\n\aError\a\n"); else printf("\t==>%s",codigo[i]); } getch(); printf("\n\n\n\n"); printf("\nEl arbol de huffman quedo codificado a:\n\n");
archivo=fopen("huffman.txt","r");
for(i=0; entrada[i]!='\0';i++) {
printf("%s",codigo[ inicio_mapa(entrada[i]) ] ); fwrite(codigo[inicio_mapa(entrada[i])], sizeof(codigo),1,archivo);
} fclose(archivo); }
mi consulta es que cuando quiero guardar el codigo en un txt solo me crea el archivo huffman.txt pero no me guarda nada , alguien si sabe como me lo podria guardar le estari muy agradecido...
|
|
|
24
|
Programación / Programación C/C++ / ayuda con lista doble
|
en: 14 Junio 2010, 06:11 am
|
bueno tengo que hacer una lista doble (inventario) que contenga un unico codigo , nombre , precio y cantidad , por ejemplo: codigo : 12345 nombre: cafe precio :$ 10.00 cantidad: 10 corrijame si voy mal typedef struct lista_d { char codigo[10]; char nombre[10]; float precio; int cantidad; struct lista_d *prox; struct lista_d *ant; } lista_d; lista_d *p;
lista_d *CreaNodo (char x) { lista_d *p = NULL; p = (lista_d *) malloc(sizeof(lista_d)); if (p != NULL) { p->info = x; p->prox = p->ant =NULL; } return p; } void insertar(lista_d** cabeza, dato) { lista_d *nuevo; nuevo=CreaNodo(dato); nuevo->adelante=*cabeza; nuevo->atras=NULL; if(*cabeza!=NULL) { (*cabeza)->atras=nuevo; *cabeza=nuevo; } } void main() { lista_d *cabeza; cabecera=NULL; }
otra duda para actualizar una lista doble por ejemplo si quiereo actuzalizar que en vez de que sean 10 articulos si no que 15 con el mismi codigo y producto solo se los sumo o lo aplico la funcion de eliminacion por ejemplo: inventario no actulizado: codigo : 12345 nombre: cafe precio :$ 10.00 cantidad: 10 inventario actulizado: codigo : 12345 nombre: cafe precio :$ 10.00 cantidad: 15
|
|
|
25
|
Programación / Programación C/C++ / tengo una duda
|
en: 7 Junio 2010, 05:19 am
|
bueno me ha llamado la atencion el temas de arboles en especial los "arboles binarios y los arboles AVL"
Bueno yo se que un arbol binario es una estructura de datos en la cual cada nodo siempre tiene un hijo izquierdo y un hijo derecho. Un arbol AVL están siempre equilibrados de tal modo que para todos los nodos, la altura de la rama izquierda no difiere en más de una unidad de la altura de la rama derecha.
bueno mi duda que tengo es " porque muchos programadores aplican a los arboles binarios las operaciones de los arboles AVL" por ejemplo
por ejemplo: las operaciones de un arbol binario son (mas basicas) insertar un dato eliminar un dato buscar un dato
la de los arboles AVL las rotaciones: rotacion a la derecha rotacion a la izquierda
bueno corrijamen si estoy en lo equivocado y si no saquenme de la duda:
yo creo que se aplican los arboles AVL en los arboles binario para lograr un equilbrio o balanceo y una mayor eficiencia con respecto a las busquedas debido a que el arbol queda ordenado logrando una eficiencia de ( Log n ) equilibrando
porfavor si alguien me puede aclarar esta duda, le agradeceria.
|
|
|
26
|
Programación / Programación C/C++ / una consulta
|
en: 5 Junio 2010, 02:23 am
|
estoy trabajando con punteros value = (*cabeza_ptr)->dato temporal =*cabeza_ptr
bueno mi consulta es como se representa es pseudocogico esta intruccion * , -> yo lo hice asi no se si estara bien value = cabeza: dato temporal : cabeza_ptr
|
|
|
27
|
Programación / Programación C/C++ / Corrijanme si me equivoco
|
en: 4 Junio 2010, 01:27 am
|
Hola mi programa tiene la siguiente estrcutura struct node { int info; struct node *next; };
typedef struct node *nodePtr;
bueno lo estoy pasando a pseudocodigo no se si lo hice bien si no haganmelo saber estructura nodo { var info estructura node → next } tipo_de_dato estructura node → nodePtr
|
|
|
28
|
Programación / Programación C/C++ / alguien tiene este libro o sabe donde conseguirlo
|
en: 30 Mayo 2010, 07:30 am
|
es un excelente libro de programacion si alguien lo tiene o sabe el link de descarga le estaria muy agradecido:
TITULO: C. Algoritmos, programación y estructura de datos. Serie Schaum
AUTOR/ES: Joyanes Aguilar, Luis; Castillo Sanz, Andrés;Sánchez García, Lucas & Zahonero Martínez, Ignacio
AÑO: 2005
EDICION: 1ª
IDIOMA: Castellano
|
|
|
29
|
Programación / Programación C/C++ / ayuda en validacion
|
en: 25 Mayo 2010, 02:30 am
|
bueno estoy en la desarollando un sistema de invetario lo que no se como puedo hacer es hacer la validacion de texto por ejemplo yo hice este programa que valida la entrada de 5 caracteres de una cadena y no permite mas caracteres exactamente 5, pero el problema me surge que el programa lo estoy trabajano en linux no se si habra otra forma de hacer esto porque en linux. En linux da error por la libreria conio... les agradeceri si hay alguna forma de validar cadena ya sea con un ciclos for , while les estaria muy agradecido por ejemplo si el usuario quiere difitar lo siguiente codigo -> elhacker el programa solo le escribira "elhac" y aunque el usuario digite no se le deplegara mas caracactere solo exactamente 5, eso es lo que hace este programa. pero lo malo que se vale mucho de la libreria conio y el problema que lo desarollo en linux vean //**** este programa lo desarolle en turbo c++ 3.0 ***** /// // permite la entrada solo de 5 caracteres ideales para validacion de cadenas
#include <stdio.h> #include <conio.h> int main(void) { char cadena[6]; // contiene el array char char *puntero; // es el puntero donde se almacena el array char clrscr(); cadena[0] = 6; printf("Digite el codigo:\n"); puntero = cgets(cadena); fflush(stdin); putchar(*puntero); putchar('\n');
getch(); return 0; }
|
|
|
30
|
Programación / Programación C/C++ / guardar y crear un archivo en turbo c++
|
en: 17 Mayo 2010, 08:39 am
|
bueno es un diccionario con arboles binarios, la estructuras de mi programa son las siguiente struct nodos { char ingles[50]; char español[50]; struct nodos *der; struct nodos *izq; int siguiente; }; typedef struct nodos Arbol; typedef Arbol *ARBOL; int listo; char in[50],es[50]; la consulta es como guardo todo el diccionario en un .txt yo lo intente haci void cargar() { nodos Arbol info; FILE *fp;
fp=fopen("arbol.txt","r"); if(fp==NULL) { printf("No se puede abrir el archivo\n"); return; }
while(!feof(fp)) { if(fread(&info, sizeof(nodos Arbol), 1, fp)!=1) break; agregar(&raiz); }
fclose(fp); }
void guardar() { nodos Arbol info; FILE *fp;
fp=fopen("arbol.txt","w"); if(fp==NULL) { printf("No se puede abrir el archivo\n"); return; }
pero no me sirve y me da como 7 errores no se a que se debera alguien si sabe me podria decir en que equivoco errores: undefined symbol nodos statement mising expected if statementm missing undefine symbol raiz declaration syntax error no se que sera ******************************************************************* bueno aca el codigo completo del programa si alguien puede poner esa opcion de guardar en un txt se lo agradeceria : #include "stdio.h" #include "stdlib.h" #include "conio.h" #include "string.h" #include "iostream.h" //------------------------------------------------------------------------------------- // Estructura del Nodo //------------------------------------------------------------------------------------- struct nodos{ char ingles[50]; char espanol[50]; struct nodos *der; struct nodos *izq; int Fe; }; //------------------------------------------------------------------------------------- // -------------------- //------------------------------------------------------------------------------------- typedef struct nodos Arbol; typedef Arbol *ARBOL; int listo; char in[50],es[50]; //------------------------------------------------------------------------------------- // Protótipos de las funciones //------------------------------------------------------------------------------------- void menu(); void menu_agregar(); void menu_ingles(); void menu_espanol(); void menu_borrar(); void menu_listar(); void agregar(ARBOL *nodoarb); void buscar_ingles(ARBOL nodoarb); void buscar_espanol(ARBOL nodoarb); void listar(ARBOL nodoarb); void rotacionddsimple(ARBOL *nodoarb); void rotaciondidoble(ARBOL *nodoarb); void rotaciondd2(ARBOL *nodoarb); void rotacionii2(ARBOL *nodoarb); void rotacioniisimple(ARBOL *nodoarb); void rotacioniddoble(ARBOL *nodoarb); void menor(ARBOL nodoarb); void actualizarbi(ARBOL *nodoarb, int *ban); void actualizarbd(ARBOL *nodoarb, int *ban); void eliminar(ARBOL *nodoarb, int *ban); void borrar(ARBOL *nodoarb , int *ban); //------------------------------------------------------------------------------------- // PROGRAMA PRINCIPAL //------------------------------------------------------------------------------------- void main() { char opc='1'; int ban=1; ARBOL raiz=NULL; do { menu(); cin>>opc; switch(opc){ case '1': menu_agregar(); cout<<"Introduzca Palabra en Ingles : "; cin>>in; cout<<"Introduzca Palabra en Espanol : "; cin>>es; agregar(&raiz); break; case '2': menu_borrar(); cout<<"Que Palabra en Ingles desea Borrar? : "; cin>>in; borrar(&raiz,&ban); cout<<"Elemento Borrado!"; break; case '3': menu_ingles(); cout<<"Que Palabra en Ingles desea Buscar? : "; cin>>in; listo=0; buscar_ingles(raiz); if (listo==0) cout<<"Elemento no encontrado!"; getch(); listo=0; break; case '4': menu_espanol(); cout<<"Que Palabra en Espanol desea Buscar? : "; cin>>es; listo=0; buscar_espanol(raiz); if (listo==0) cout<<"Elemento no encontrado!"; getch(); listo=0; break; case '5': menu_listar(); listar(raiz); getch(); break; } } while (opc !='6'); } //------------------------------------------------------------------------------------- // Funcion Menu //------------------------------------------------------------------------------------- void menu() { system("cls"); cout<<"--------------------------------------------------------------------------------"<<endl; cout<<" "<<endl; cout<<" TRADUCTOR INGLES - ESPANOL / ESPANOL INGLES "<<endl; cout<<" "<<endl; cout<<"--------------------------------------------------------------------------------"<<endl; cout<<" "<<endl; cout<<" 1. Agregar palabras al diccionario "<<endl; cout<<" "<<endl; cout<<" 2. Borrar palabras del diccionario "<<endl; cout<<" "<<endl; cout<<" 3. Consultar Palabra en Ingles "<<endl; cout<<" "<<endl; cout<<" 4. Consultar Palabra en Espanol "<<endl; cout<<" "<<endl; cout<<" 5. Listar Palabras "<<endl; cout<<" "<<endl; cout<<" 6. Salir "<<endl; cout<<" "<<endl; cout<<"--------------------------------------------------------------------------------"<<endl; cout<<" "<<endl; cout<<" "<<endl; cout<<" "<<endl; cout<<" Digite su Opcion????? "<<endl; }
//------------------------------------------------------------------------------------- // Funcion Menu Agregar //------------------------------------------------------------------------------------- void menu_agregar() { system("cls"); cout<<"--------------------------------------------------------------------------------"<<endl; cout<<" "<<endl; cout<<" AGREGAR PALABRAS AL TRADUCTOR "<<endl; cout<<" "<<endl; cout<<"--------------------------------------------------------------------------------"<<endl; cout<<" "<<endl; cout<<" "<<endl; cout<<" "<<endl; cout<<" "<<endl; }
//------------------------------------------------------------------------------------- // Funcion Menu Buscar Ingles //------------------------------------------------------------------------------------- void menu_ingles() { system("cls"); cout<<"--------------------------------------------------------------------------------"<<endl; cout<<" "<<endl; cout<<" BUSCAR PALABRA EN INGLES "<<endl; cout<<" "<<endl; cout<<"--------------------------------------------------------------------------------"<<endl; cout<<" "<<endl; cout<<" "<<endl; cout<<" "<<endl; cout<<" "<<endl; }
//------------------------------------------------------------------------------------- // Funcion Menu Buscar Espanol //------------------------------------------------------------------------------------- void menu_espanol() { system("cls"); cout<<"--------------------------------------------------------------------------------"<<endl; cout<<" "<<endl; cout<<" BUSCAR PALABRA EN ESPANOL "<<endl; cout<<" "<<endl; cout<<"--------------------------------------------------------------------------------"<<endl; cout<<" "<<endl; cout<<" "<<endl; cout<<" "<<endl; cout<<" "<<endl; }
//------------------------------------------------------------------------------------- // Funcion Menu Borrar //------------------------------------------------------------------------------------- void menu_borrar() { system("cls"); cout<<"--------------------------------------------------------------------------------"<<endl; cout<<" "<<endl; cout<<" BORRAR PALABRA DEL DICCIONARIO "<<endl; cout<<" "<<endl; cout<<"--------------------------------------------------------------------------------"<<endl; cout<<" "<<endl; cout<<" "<<endl; cout<<" "<<endl; cout<<" "<<endl; } //------------------------------------------------------------------------------------- // Funcion Menu Listar //------------------------------------------------------------------------------------- void menu_listar() { system("cls"); cout<<"--------------------------------------------------------------------------------"<<endl; cout<<" "<<endl; cout<<" LISTAR PALABRAS DEL TRADUCTOR "<<endl; cout<<" "<<endl; cout<<"--------------------------------------------------------------------------------"<<endl; cout<<" "<<endl; }
//------------------------------------------------------------------------------------- // Funcion Agregar palabras al Diccionario //-------------------------------------------------------------------------------------
void agregar(ARBOL *nodoarb) {
int det; if (*nodoarb == NULL){ *nodoarb = new(Arbol); if (*nodoarb != NULL){ strcpy((*nodoarb)->ingles,in); strcpy((*nodoarb)->espanol,es); (*nodoarb)->der=NULL; (*nodoarb)->izq=NULL; } else{ system("cls"); cout<<"No hay memoria suficiente!"; } } else { det=strcmp(in,(*nodoarb)->ingles);
if (det < 0) agregar (&((*nodoarb)->izq)); else if (det > 0) agregar (&((*nodoarb)->der)); else { system("cls"); cout<<"¡¡¡ Dato duplicado !!!"; getch(); system("cls"); } } }
//------------------------------------------------------------------------------------- // Funcion Buscar Ingles //-------------------------------------------------------------------------------------
void buscar_ingles(ARBOL nodoarb) { if (nodoarb != NULL){ buscar_ingles(nodoarb->izq); if (strcmp(in,nodoarb->ingles)==0) { cout<<endl; cout<<endl; cout<<endl; cout<<" "<<nodoarb->ingles<<" -> "<<nodoarb->espanol<<endl; listo=1; return; } buscar_ingles(nodoarb->der); } }
//------------------------------------------------------------------------------------- // Funcion Buscar Ingles //-------------------------------------------------------------------------------------
void buscar_espanol(ARBOL nodoarb) { if (nodoarb != NULL){ buscar_espanol(nodoarb->izq); if (strcmp(es,nodoarb->espanol)==0) { cout<<endl; cout<<endl; cout<<endl; cout<<" "<<nodoarb->espanol<<" -> "<<nodoarb->ingles<<endl; listo=1; return; } buscar_espanol(nodoarb->der); } } //------------------------------------------------------------------------------------- // Funcion listar Palabras //-------------------------------------------------------------------------------------
void listar(ARBOL nodoarb) { if (nodoarb != NULL){ listar(nodoarb->izq); cout<<" "<<nodoarb->ingles<<" -> "<<nodoarb->espanol<<endl; listar(nodoarb->der); } }
//------------------------------------------------------------------------------------- // Funcion rotacionddsimple //-------------------------------------------------------------------------------------
void rotacionddsimple(ARBOL *nodoarb) { ARBOL nda=NULL; nda=(*nodoarb)->der; (*nodoarb)->der=nda->izq; nda->izq=(*nodoarb); nda->Fe=0; (*nodoarb)->Fe=0; }
//------------------------------------------------------------------------------------- // Funcion rotaciondidoble //-------------------------------------------------------------------------------------
void rotaciondidoble(ARBOL *nodoarb) { ARBOL nda1=NULL, nda2=NULL; nda1=(*nodoarb)->der; nda2=nda1->der;
nda1->izq=nda2->der; nda2->der=nda1; (*nodoarb)->der=nda2->izq; nda2->izq=(*nodoarb);
if (nda2->Fe == 1) (*nodoarb)->Fe=-1; else (*nodoarb)->Fe=0; if (nda2->Fe == -1) (*nodoarb)->Fe=1; else (*nodoarb)->Fe=0;
nda2->Fe=0; (*nodoarb)=nda2; }
//------------------------------------------------------------------------------------- // Funcion rotaciondd2 //-------------------------------------------------------------------------------------
void rotaciondd2(ARBOL *nodoarb) { ARBOL nda=NULL; nda=(*nodoarb)->der; (*nodoarb)->der=nda->izq; nda->izq=(*nodoarb); nda->Fe=-1; (*nodoarb)->Fe=1; (*nodoarb)=nda; }
//------------------------------------------------------------------------------------- // Funcion rotacionii2 //-------------------------------------------------------------------------------------
void rotacionii2(ARBOL *nodoarb) { ARBOL nda=NULL; nda=(*nodoarb)->izq; (*nodoarb)->izq=nda->der; nda->der=(*nodoarb); nda->Fe=1; (*nodoarb)->Fe=-1; (*nodoarb)=nda; }
//------------------------------------------------------------------------------------- // Funcion rotacionsimple //-------------------------------------------------------------------------------------
void rotacioniisimple(ARBOL *nodoarb) { ARBOL nda=NULL; nda=(*nodoarb)->izq; (*nodoarb)->izq=nda->der; nda->der=(*nodoarb); nda->Fe=0; (*nodoarb)->Fe=0; *nodoarb=nda; }
//------------------------------------------------------------------------------------- // Funcion rotacioniddoble //-------------------------------------------------------------------------------------
void rotacioniddoble(ARBOL *nodoarb) { ARBOL nda1=NULL, nda2=NULL;
nda1=(*nodoarb)->izq; nda2=nda1->der; nda1->der=nda2->izq; nda2->izq=nda1;
(*nodoarb)->izq=nda2->der; nda2->der=(*nodoarb);
if (nda2->Fe == 1) nda1->Fe=-1; else nda1->Fe=0; if (nda2->Fe == -1) (*nodoarb)->Fe=1; else (*nodoarb)->Fe=0;
nda2->Fe=0; (*nodoarb)=nda2; }
//------------------------------------------------------------------------------------- // Funcion Menor //-------------------------------------------------------------------------------------
void menor(ARBOL nodoarb) { if (nodoarb->izq == NULL) { strcpy(in,nodoarb->ingles); strcpy(es,nodoarb->espanol); } else menor(nodoarb->izq); }
//------------------------------------------------------------------------------------- // Funcion Actualizarbi //-------------------------------------------------------------------------------------
void actualizarbi(ARBOL *nodoarb, int *ban) { switch((*nodoarb)->Fe){ case -1: (*nodoarb)->Fe=0; break; case 0: (*nodoarb)->Fe=1; *ban=0; break; case 1: switch((*nodoarb)->der->Fe){ case 1: rotacionddsimple(&(*nodoarb)); break; case -1: rotaciondidoble(&(*nodoarb)); break; case 0: rotaciondd2(&(*nodoarb)); *ban=0; break;
} break; } } //------------------------------------------------------------------------------------- // Funcion Actualizarbd //-------------------------------------------------------------------------------------
void actualizarbd(ARBOL *nodoarb, int *ban) { switch((*nodoarb)->Fe){ case 1: (*nodoarb)->Fe=0; break; case 0: (*nodoarb)->Fe=-1; *ban=0; break; case -1: switch((*nodoarb)->izq->Fe){ case -1: rotacioniisimple(&(*nodoarb)); break; case 1: rotacioniddoble(&(*nodoarb)); break; case 0: rotacionii2(&(*nodoarb)); *ban=0; break;
} break; } }
//------------------------------------------------------------------------------------- // Funcion Eliminar //-------------------------------------------------------------------------------------
void eliminar(ARBOL *nodoarb, int *ban) { ARBOL aux=NULL;
if ((*nodoarb)->izq == NULL){ aux=*nodoarb; *nodoarb=(*nodoarb)->der; free(aux); *ban=1; } else{ if ((*nodoarb)->der == NULL){ aux=*nodoarb; *nodoarb=(*nodoarb)->izq; free(aux); *ban=1; } else{ menor((*nodoarb)->der); borrar(&(*nodoarb)->der,&(*ban)); if (*ban) actualizarbd(&(*nodoarb),&(*ban)); } } }
//------------------------------------------------------------------------------------- // Funcion Borrar //-------------------------------------------------------------------------------------
void borrar(ARBOL *nodoarb , int *ban) { if (nodoarb == NULL) *ban=0; else if (strcmp((*nodoarb)->ingles,in)==0) eliminar(&(*nodoarb),&(*ban));
else if (strcmp((*nodoarb)->ingles,in) > 0 ){ borrar(&(*nodoarb)->izq,&(*ban)); if (*ban) actualizarbi(&(*nodoarb),&(*ban)); } else{ borrar(&(*nodoarb)->der,&(*ban)); if (*ban) actualizarbd(&(*nodoarb),&(*ban));
} }
//------------------------------------------------------------------------------------- // FIN //-------------------------------------------------------------------------------------
|
|
|
|
|
|
|