|
141
|
Programación / Programación C/C++ / Re: Ayudaaaaaa!!! ejercicios de programacion en c
|
en: 21 Julio 2010, 18:24 pm
|
Primero que nada compañero te aconsejaria que entiendas bien el enunciado para poder explicarte bien , si no la verdad aqui no se aclara ni Dios.... 1) Construir un programa en C, usando funciones, que permita crear una matriz A de N x M, una matriz B de P x Q (con P <= N y Q <= M) y permita determinar si la matriz B se encuentra contenida en la matriz A.
vamos por partes , te piden un programa que cree dos matrices de n dimensiones , la primera matriz será matrizA [N][M]
la matriz B será menor que la matriz a en todo sentido (con P <= N y Q <= M)
con lo cual matrizB[P][Q]
en ningun momento dicen que las matrices deben de ser de 50X50 , una vez que las tenga llenas , tomas el primer elemento de la matriz más pequeña y lo vas comparando con cada uno de los elementos de la más grande , si encuentras coincidencia , pasas al segundo elemento de matrizB y asi , si los elementos de matrizB se encuentran consecutivamente en matrizA , significa que matrizA contiene a matrizB. No se si esto te ha aclarado las cosas , ya me dirás algo ...
|
|
|
142
|
Programación / Java / Re: Ayuda! ejercicio con array! :-\
|
en: 20 Julio 2010, 08:54 am
|
De nada emuraydem , si quieres hacerlo con arrays , debes conocer el número de elementos que contendrá , en cambio con un ArrayList le agregas cuantos quieras ... Pd. perdona por la tabulación , no se pego bien el código
|
|
|
143
|
Programación / Programación C/C++ / Re: !! Ayuda ¡¡ Programa en C
|
en: 19 Julio 2010, 17:54 pm
|
Hola NeedToKill , permiteme alguna observación , primero que nada t aconsejaría que agrupes el código en funciones por eje. int activarCuenta(); int girarDinero(); int depositarDinero();
segundo , mejor si posteas tu código entre etiquetas GeSHI tercero , para darle claridad al código , es muy recomendable agrupar las variables en extructuras , en tu caso yo usaría mínimo estas dos estructuras. typedef struct{ char *nombreCliente; int edad; char *dni; char *direccio; }typeCliente; typedef struct{ long saldo; char *idCuenta; typeCliente *cliente; }typeCuenta;
de esa manera cuando quieras crear una cuenta haces typeCliente cliente = (typeCliente ) malloc(sizeof(typeCliente )); typeCuenta cuenta = (typeCuenta ) malloc(sizeof(typeCuenta ));
luego asociar a cada cliente con cada cuenta será más sencillo , eje. int crearCliente(typeCliente cliente){ //aqui inicializas los campos del cliente como el nombre , dire. etc } int crearCuenta(typeCuenta cuenta, typeCliente cliente){ //aqui creas la cuenta y la asocias al cliente dado }
al final en el main solo tendrás que meter las llamadas a los procedimientos y listo do{ printf(" :: BIENVENIDO AL BANCO ::\n"); printf("\n //////Cuenta De Ahorro//////\n"); printf("\t 1-. Activar Cuenta.\n"); printf("\t 2-. Girar Dinero.\n"); printf("\t 3-. Depositar Dinero.\n"); printf("\t 4-. Consulta de Saldo.\n"); printf("\n\t Ingrese Opcion: "); switch (opcion) { case 1: activarCuenta(); break; case 2: girarDinero(); break; etc........................
|
|
|
144
|
Programación / Java / Re: Ayuda! ejercicio con array! :-\
|
en: 19 Julio 2010, 11:45 am
|
Lo que sucede es que te estás confundiendo con los indices , cuado restas a x 1 , siempre estás en la posición 0 del array . prueba con lo siguiente import java.io.* ; import java.util.ArrayList; import java.util.Iterator; class test{ int num, x=0, y=0; char op; do{ System. out. println("un numero entero "); num = Integer. parseInt(nk. readLine()); System. out. println("Continuar? s/n"); op=nk.readLine().charAt(0); }while (op=='s'); while (it.hasNext()){ System. out. println("los numeros son: " +it. next()); } } }
|
|
|
145
|
Programación / Programación C/C++ / Re: Fallo en segmentación inexplicable (al menos para mi)
|
en: 17 Julio 2010, 21:10 pm
|
Gracias por vuestras respuestas ... crear_cliente(type_persona *cliente)
no tiene tipo de retorno. deberia ser: void crear_cliente(type_persona *cliente)
y al compilar en gcc no me da ningún Fallo de segmentación. Que compilador usas? uso gcc y el error era al ejecutar, no al compilar , el prototipo del método crear cliente está en un .h , al postear el código olvide ponerlo El fallo de segmentación luego de la muestra se debe a que no reservas el espacio en memoria para el puntero a la estructura, prueba añadiendo: cliente = (type_persona *)(malloc(sizeof(type_persona )));
si, era esto lo que estaba fallando , gracias
|
|
|
146
|
Programación / Programación C/C++ / Fallo en segmentación inexplicable (al menos para mi)
|
en: 17 Julio 2010, 12:47 pm
|
Hola a todos , ejecutando el siguiente programa me da un fallo en segmentación , alguien me podria decia a que se debe ? gracias de antemano #include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct { char *nombre; char *direccion; int edad; char *dni; }type_persona; crear_cliente(type_persona *cliente){ char aux[50]; int aux2; printf("%s", "\nCreando cliente......\n"); printf("\nNombre del cliente :"); cliente ->nombre = (char*) malloc(strlen(aux ) * sizeof(char)); strcpy(cliente ->nombre , aux ); printf("\nDirección del Cliente:"); cliente ->direccion = (char*) malloc(strlen(aux )*sizeof(char*)); strcpy(cliente ->direccion , aux ); printf("\nEdad del Cliente:"); scanf("%d", &(cliente ->edad )); printf("\nsu edad es %d", cliente ->edad ); printf("\n Cliente creado !!!!"); } int main(){ type_persona *cliente; crear_cliente(cliente); printf("\n%s %s %s", cliente ->dni , cliente ->nombre , cliente ->direccion ); return 0; }
|
|
|
147
|
Sistemas Operativos / GNU/Linux / Re: Ubuntu 10.04 corriendo en VirtualBox un par de problemas.
|
en: 1 Julio 2010, 20:14 pm
|
Creo que has hecho mal dos cosas :
1.- Pensar que era culpa del linux el echo de que la pantalla se te mostrara pequeña , eso como ya te han dicho se arregla instalando GuestAdditions .
2.- Al modificar el fichero xorg.conf los habrás modificado mal y por eso no se te enciende el ubuntu.
Yo directamente borraría el S.O. Virtual (el linux) y crearía otra desde cero , instalas los GuestAdditions , y si todavía te da problemas , avisas y lo miramos ...
Saludos
|
|
|
148
|
Programación / Programación C/C++ / Re: ayuda
|
en: 17 Junio 2010, 08:05 am
|
Si no pones código y haces preguntas concretas no creo que te vaya a ayudar nadie , lo que tu preguntas lo puedes averiguar tranquilamente de los libros o haciendo una busqueda en google .
|
|
|
149
|
Programación / Programación C/C++ / Re: [C Linux] Escribo archivo con write() y su contenido se ve mal en la GUI.
|
en: 15 Junio 2010, 17:14 pm
|
No me he peleado mucho con open , pero me parece que podría ser el segundo parametro el O_CREAT he buscado el manual de open y esto es lo que me pone en la descripción de dicho parametro
If O_CREAT is set and the file did not previously exist, upon successful completion, open() will mark for update the st_atime, st_ctime and st_mtime fields of the file and the st_ctime and st_mtime fields of the parent directory.
no vaya a ser que la dichosa marca que le pone sean los caracteres raros que ves ...
Por que razon no usas fopen ?
|
|
|
150
|
Programación / Programación C/C++ / Re: Ejecutar commando y leer resultado
|
en: 14 Junio 2010, 17:59 pm
|
Podrías leer directamente desde el flujo de entrada de tu programa esto lo consigues simplemente haciendo File *fichero; fichero = stdin;
a partir de alli puedes hacer cualqueir cosa que harias con un fichero , por ejemplo el siguiente programa redirige la salida de dir al programa y le agrega una doble linea entre impresión e impresión #include <stdio.h> #define MAX 50 int getLine(FILE *fichero , char s[], int lim){ int c, i; i=0; while(--lim > 0&&(c =fgetc(fichero ))!=EOF && c !='\n') s[i++] = c; if(c=='\n') s[i++] = c; s[i]='\0'; return i; } int main(){ FILE *fichero; fichero = stdin; char linea[MAX]; while((getLine(fichero , linea , MAX)) > 0){ printf("\n======================================================="); printf("%s", linea ); // imprime las lineas que encuentra en el flujo de entrada ! } }
haciendo esto lo que podrias hacer es comando | nombrePrograma ya me dirás algo .... de echo no tienes ni que declarar la variable fichero podrías hacer lo sigueinte y seguiria funcionando while((getLine(stdin , linea , MAX)) > 0)
|
|
|
|
|
|
|