Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Gallu

#141
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....
Cita de: Skarface
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

Cita de: Skarface
(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 ...
:huh:
#142
Java / Re: Ayuda! ejercicio con array! :-\
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 ;D
#143
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("\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("\t       5-. Salir.\n");
              printf("\n\t           Ingrese Opcion: ");
              scanf("%d", &opcion);
           
              switch (opcion) {
                         case 1:
                                    activarCuenta();
                                    break;
                         case 2:
                                    girarDinero();
                                    break;

etc........................




#144
Java / Re: Ayuda! ejercicio con array! :-\
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

Código (java) [Seleccionar]

import java.io.* ;
import java.util.ArrayList;
import java.util.Iterator;

class test{

public static void main(String arg[]) throws IOException{
int num, x=0, y=0;
        char op;
        ArrayList lnum = new ArrayList();
BufferedReader nk = new BufferedReader(new InputStreamReader(System.in));
        do{       
            System.out.println("un numero entero ");
            num = Integer.parseInt(nk.readLine());
lnum.add(new Integer(num));
            System.out.println("Continuar? s/n");
            op=nk.readLine().charAt(0);
        }while (op=='s');
Iterator it = lnum.iterator();
        while (it.hasNext()){     
            System.out.println("los numeros son: " +it.next());   
        }
}

}
#145
Gracias por vuestras respuestas ...

Cita de: Og. en 17 Julio 2010, 15:31 PM
crear_cliente(type_persona *cliente) no tiene tipo de retorno.

deberia ser:
Código (cpp) [Seleccionar]
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


Cita de: cbug en 17 Julio 2010, 15:33 PM
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
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 :");
       fgets(aux,50,stdin);
       cliente->nombre = (char*) malloc(strlen(aux) * sizeof(char));
       strcpy(cliente->nombre , aux);
       memset(aux,' ',50);

       printf("\nDirección del Cliente:");
       fgets(aux,50,stdin);
       cliente->direccion = (char*) malloc(strlen(aux)*sizeof(char*));
       strcpy(cliente->direccion , aux);
       memset(aux,' ',50);

       printf("\nDNI del Cliente:");
       fgets(aux,50,stdin);
       cliente->dni =(char*) malloc(strlen(aux)*sizeof(char*));
       strcpy(cliente->dni , 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
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 C/C++ / Re: ayuda
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 . :-X
#149
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
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)