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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Temas
Páginas: [1] 2
1  Programación / Java / Programar en Kotlin en: 22 Enero 2021, 20:01 pm
Hola estimados que tal, tenía ganas hace ya un tiempo de aprender a programar en kotlin para desarrollar app, ahora mi duda, para poder crea una app tipo instragram o cualquier app en general, ¿basta con aprender un sólo lenguaje?, o necesitaría aprender muchos lenguajes más (no tengo idea de programación como lo notarán, solo un poco de lenguaje c, y hasta ahí).
2  Programación / Programación C/C++ / estrcuturas+funciones en: 3 Julio 2019, 19:05 pm
hola bochos, espero que la vida los trate bien, me dan una mano con este código?

el problema dice así:
a)haciendo uso de estructuras implemente un tipo de dato que permita modelar un equipo de fútbol, del equipo interesa conocer: nombre, cantidad de partidos ganados, empatados, y perdidos, goles a favor y goles en contra y puntaje.
b)
implemente un código en c que de una función que permita calcular el puntaje de un equipo, el mismo se calcula en función de los partidos ganados(3 puntos), perdidos(0) y empatados(1), nota: se pretende que que la función a implementar reciba un equipo por referencia para setear su puntaje y que no devuelva nada.
c)
Escriba  las lineas de código que permitan gestionar una liga de 40 equipos usando memoria estática debe generar la lista de 40 equipos e inicializarlos por teclado,toda la información para cada equipo se cargara por teclado, a excepción del puntaje que se calculara usando la función implementada.


mi código es el siguiente:
Código
  1. struct equipo
  2. {
  3.    char nombre[20];
  4.    int resultados[3];
  5.    int goles[2];
  6.    int puntaje;
  7. };
  8. void puntaje(struct equipo* );
  9.  
  10. int main()
  11. {
  12.    int j=0;
  13.    struct equipo datos[2];
  14.    struct equipo *punt;
  15.    for(j=0;j<2;j++)
  16.    {
  17.        printf("\ningrese nombre de equipo%d\n",j+1);
  18.        gets(datos[j].nombre);
  19.        fflush(stdin);
  20.        printf("ingrese los partidos ganados \n");
  21.        scanf("%d",&datos[j].resultados[j]);
  22.        fflush(stdin);
  23.        printf("ingrese los partidos empatados \n");
  24.        scanf("%d",&datos[j].resultados[j+1]);
  25.        fflush(stdin);
  26.        printf("ingrese los partidos perdidos\n");
  27.        scanf("%d",&datos[j].resultados[j+2]);
  28.        fflush(stdin);
  29.        printf("ingrese goles a favor\n");
  30.        scanf("%d",&datos[j].goles[j]);
  31.        fflush(stdin);
  32.        printf("ingrese goles en contra\n");
  33.        scanf("%d",&datos[j].goles[j+1]);
  34.        fflush(stdin);
  35.        punt=&datos[j];
  36.        puntaje(punt);
  37.  
  38.    }
  39.  
  40.  
  41.  
  42.    return 0;
  43. }
  44. void puntaje(struct equipo*p )
  45. {
  46.    int i=0,puntos=0, num[3]={3,1,0};
  47.    for(i=0;i<3;i++)
  48.    {
  49.        puntos=puntos+(p->resultados[i])*num[i];
  50.    }
  51.    printf("\nel puntaje es %d",puntos);
  52.    return;
  53. }
 
mi problema esta en la linea de código del inciso 3 b, la cuestión es que cuando quiero calcular el puntaje para cada equipo y llamo a la función,para luego utilizar la asignación punt=&datos[j], me calcula el puntaje para el primer partido, pero luego calcula cualquier cosa. Se supone que datos es un puntero a una variable de tipo struct equipo, luego guardo esa direccion en un puntero (punt), y luego aumento el indice para que recorra paquete de datos ( es decir los que voy inicializando), pero no se porque no funciona, graciass de antemanooo



para facilitar la carga de datos obviamente que no hice el programa con 40 equipos...
3  Programación / Programación C/C++ / duda función recursiva en: 30 Mayo 2019, 17:09 pm
hola gente todo tranquui?, espero que todo en orden, necesito que me digan si esta bien hecho esto:
el problema dice: realice la traza de la sguiente funcion recursiva, y diga cual es el resultado para fun(6),
el codigo es este:

Código
  1. void fun(int a);
  2.  
  3. int main()
  4. {
  5. int N;
  6. scanf("%d",&N);
  7. fun(N);
  8.  return 0;
  9. }
  10. void fun(int a)
  11. {
  12.    if(a>0)
  13.        {
  14.            printf("%d\n",a);
  15.            fun(a-1);
  16.        }
  17.        else
  18.            {
  19.                printf("fin\n");
  20.                printf("%d\n",a);
  21.                printf("fin de verdad\n");
  22.            }
  23.  
  24.  
  25.  
  26. }
  27.  
  28.  
  29.  

la salida es sencilla imprimiria esto:
6
5
4
3
2
1
Fin
0
Fin de verdad
ahora bien para realizar la traza estaria bien esto asi:

1 6
2 fun(5)
1 5
2 fun(4)
1 4
2 fun(3)
1 3
2 fun(2)
1 2
2 fun(1)
1 1
2 fun(0)
Fin
0
Fin de verdad

Aclaracion la parte que me dan en el problema es solo la funcion, todo el codigo que pegue ahi lo hice para compilarlo y verificar que imprime eso, osea el problema solo me da esta parte:
Código
  1. void fun(int a)
  2. {
  3.    if(a>0)
  4.        {
  5.            printf("%d\n",a);
  6.            fun(a-1);
  7.        }
  8.        else
  9.            {
  10.                printf("fin\n");
  11.                printf("%d\n",a);
  12.                printf("fin de verdad\n");
  13.            }
  14.  
  15.  
  16.  
  17. }
  18.  
  19.  
  20.  
  21.  
  22.  
4  Programación / Programación C/C++ / concatenacion de cadenas sin usar funciones en: 2 Mayo 2019, 06:30 am
hola gente como les va?, necesito ayuda con el siguiente problema:
tengo que ingresar dos cadenas por teclado y copiar el contenido de la segunda al final de la primera es decir si en cad1 ingreso "hola", y en cad2 ingreso "mundo", al final debe quedarme en cad1 hola mundo, el código ya casi lo tengo hecho, pero hay algo que me falta o sea cuando termino de copiar los contenidos e imprimo cad1 me sale todo junto, o sea holamundo, y yo no quiero que salga así:
i
Código
  1. nt main()
  2. {
  3.  char cad1[80],cad2[80];
  4.  int i=0,j=0,k=0;
  5.  printf("ingrese cad1\n");
  6.  gets(cad1);
  7.  fflush(stdin);
  8.  printf("ingrese cad2 \n");
  9.  gets(cad2);
  10.  while(cad1[i]!='\0')
  11.  {
  12.      i++;
  13.  
  14.  }
  15.  while(cad2[j]!='\0')
  16.  {
  17.      cad1[i+k]=cad2[j];
  18.      j++;
  19.      k++;
  20.  }
  21.  cad1[i+k]='\0';
  22.  
  23. puts(cad1);
  24. return 0;
}
se me había ocurrido, colocar en el mensaje printf("ingrese cad2 pero antes coloque un espacio"), pero no c quedaría muy croto pidiéndolo, graciass de antemano
5  Programación / Programación C/C++ / duda sobre estructuras y funciones en: 30 Enero 2019, 00:38 am
hola nakamas, espero que estén todos bien, graciass de antemano por toda la ayuda que siempre me dan.
tengo un problema en el que me combinan estructuras con funciones dice lo siguiente:

1. Se desea representar puntos sobre un plano de coordenadas reales x y, y asignarle a cada uno un carácter para identificarlos.
a) Cree una estructura que permita representar estos puntos
b) Declare tres variables del nuevo tipo creado, asígneles valores e imprima en pantalla los datos de cada punto.
c) Cree una función que devuelva la distancia entre dos puntos
d) Cree una función que tome un arreglo de puntos e imprima en pantalla cual es el más alejado del origen.


el punto b no lo hice pero el resto esta mas o menos hecho, mi duda es con el ultimo punto,o sea el d no entiendo muy bien como hacer las llamadas o que pasar como parámetro, me dicen si voy bien encaminado?
hasta ahora hice esto:
Código
  1.  
  2. #include <math.h>
  3. float distancia(float x1,float y1,float x2,float y2);
  4. float distalorigen(float pt[]);
  5. struct punto
  6. {
  7.    float x;
  8.    float y;
  9. }puntos[3];
  10.  
  11. int main()
  12. {
  13. int i;
  14. float dist,resultado;
  15. for(i=0;i<3;i++)
  16. {
  17.    printf("ingrese los datos del punto %d\n",i+1);
  18.    scanf("%f",&puntos[i].x);
  19.    scanf("%f",&puntos[i].y);
  20. }
  21. for(i=0;i<3;i++)
  22. {
  23.    printf("el punto ingresado es %d\n",i+1);
  24.    printf("%f  ",puntos[i].x);
  25.    printf("%f  ",puntos[i].y);
  26.    printf("\n");
  27. }
  28. dist=distancia(puntos[0].x,puntos[0].y,puntos[1].x,puntos[1].y);
  29. printf("la distancia entre los puntos ingresados es \n %.2lf",dist);
  30. resultado=distalorigen(puntos);
  31. printf("el punto mas alejado del origen es \n %.2lf",resultado);
  32.  
  33. }
  34. float distancia (float x1,float y1,float x2,float y2)
  35. {
  36.    float d;
  37.    d=sqrt(((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1)));
  38.    return d;
  39. }
  40. float distalorigen(float pt[])
  41. {
  42.    int i;
  43.    float mayor=0;
  44.    float R;
  45.    for(i=0;i<3;i++)
  46.    {
  47.        R=sqrt(((pt[i]-0)*(pt[i]-0))+((pt[i+1]-0)*(pt[i+1]-0)));
  48.        if(R>mayor)
  49.        {
  50.            mayor=R;
  51.        }
  52.    }
  53.  
  54.    return mayor;
  55. }
  56.  
  57.  

en la linea 32 me salta un error y me dice que no le puedo pasar el arreglo tipo float de la estructura a la función, tampoco se como especificar que punto es el mayor una vez que calculo cual R es el mayor, disculpen si tengo algún error conceptual groso, es que me quema la cabeza esta materia
6  Programación / Programación C/C++ / nueva funcion en c en: 15 Enero 2019, 01:31 am
hola de nuevo, estoy a full porque rindo en febrero 3 materias, y una de ellas es esta, tengo que crear tres funciones e implmentarlas, son las siguientes
int cuentavocales(char cad)
void suprimirletra(char cadena[,char letra)
void ponespaciosenblanco(char cadena,numblancos)
me salieron todas menos la de suprimir letra, el problema es que no me pasa como parámetro de referencia mi caracter que le paso en el main, me iguala cadena[i=='l', es decir me toma a l como caracter y yo quiero que lo use como variable, pensé en hacerlo por referencia, pero el enunciado del problema me pide que la función la defina tal cual la puse arriba, mi código quedo así:
Código
  1. int cuentavocales(char cadena[]);
  2. void suprimirletra(char cadena[],char l);
  3. void ponblancosalprincipio(char cadena[],int numblancos);
  4.  
  5. int main()
  6. {
  7.    char cad[80],c;
  8.    int x,resultado;
  9.    printf("ingrese una cadena por favor\n");
  10.    gets(cad);
  11.    resultado=cuentavocales(cad);
  12.    printf("la cantidad de vocales es %d\n",resultado);
  13.    printf("que letra desea suprimir?\n");
  14.    scanf("%c",&c);
  15.    suprimirletra(cad,c);
  16.    printf("cuantos espacios en blancos desea tener\n");
  17.    scanf("%d",&x);
  18.    ponblancosalprincipio(cad,x);
  19.    return 0;
  20.  
  21. }
  22.  
  23. int cuentavocales(char cadena[])
  24. {
  25.    int i=0,cont=0;
  26.    while(cadena[i]!='\0')
  27.    {
  28.        if(cadena[i]=='a'||cadena[i]=='e'||cadena[i]=='i'||cadena[i]=='o'||cadena[i]=='u'||cadena[i]=='A'||cadena[i]=='E'||cadena[i]=='U'||cadena[i]=='O'||cadena[i]=='I')
  29.        {
  30.            cont++;
  31.        }
  32.        i++;
  33.    }
  34.    return cont;
  35. }
  36. void suprimirletra(char cadena[],char l)
  37. {
  38.    int i=0;
  39.    while(cadena[i]!='\0')
  40.    {
  41.        if(cadena[i]=='l')
  42.        {
  43.            printf(" ");
  44.        }
  45.  
  46.        i++;
  47.    }
  48. puts(cad);
  49.    return;
  50. }
  51. void ponblancosalprincipio(char cadena[],int numblancos)
  52. {
  53.    int i=0,j;
  54.    while(cadena[i]==cadena[0])
  55.    {
  56.        for(j=0;j<numblancos;j++)
  57.        {
  58.            printf(" ");
  59.        }
  60.        i++;
  61.    }
  62.    puts(cadena);
  63.    return ;
  64. }
  65.  



pd:la gente que esta en este foro me ayuda mas que los ayudantes de mi facultad, mil gracias de antemano
7  Programación / Programación C/C++ / recursividad cruzada en: 12 Enero 2019, 06:57 am
hola nakamas como estan?, espero que bien, necesitaría ayuda, me piden que cree una función recursiva que determine si un numero es positivo o no, es un caso de recursividad cruzada, casi seguro que tengo un error conceptual en mi problema, mi duda està en que en c no puedo  usar public boolean(con false y true), e hice esto, pero obviamente no compila:
y tengo otra, se puede crear una tercer funcion para que solamente llame a esa sola?

   

Código
  1. #include <stdlib.h>
  2. #include <string.h>
  3. int  negativo(int n);
  4. int  positivo(int n);
  5.  
  6.  
  7. int main()
  8. {
  9.    int N;
  10.    printf("ingrese el numero\n");
  11.    scanf("%d",&N);
  12.    positivo(N);
  13.    negativo(N);
  14.    return 0;
  15. }
  16.  
  17. int positivo(int n)
  18. {
  19.    if(n>=0)
  20.    {
  21.        printf("el numero ingresado es positivo");
  22.    }
  23.    else
  24.    {
  25.        return negativo(n);
  26.    }
  27. }
  28. int  negativo(int n)
  29. {
  30.    if(n<0)
  31.    {
  32.        return n;
  33.        printf("el numero ingresado es nevativo");
  34.    }
  35.    else
  36.    {
  37.        return positivo(n);
  38.    }
  39. }
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
8  Programación / Programación C/C++ / función en c en: 4 Enero 2019, 21:41 pm
hola gente bella, espero que anden bien, felicidades en este nuevo año. Tengo una duda con una  una función en c que todavía no puedo entender bien, es una funcion que invierte una cadena ingresada, el código es este, es RECURSIVA.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void imprimir_ite(char *pcad);
  4.  
  5.  
  6.  
  7. int main()
  8. {
  9.    char cad[80];
  10.    printf("ingrese la cadena de caracteres\n");
  11.    gets(cad);
  12.    imprimir_ite(cad);
  13.    return 0;
  14. }
  15.  
  16.  
  17. void imprimir_ite(char *pcad)
  18. {
  19.    if(*pcad=='\0')
  20.    {
  21.        return;
  22.    }
  23.    else
  24.    {
  25.         imprimir_ite(pcad+1);
  26.         printf("%c",*pcad);
  27.  
  28.    }
  29. }

Entiendo la parte inicial del código, o sea ingreso la cadena "hola" por ejemplo, entonces comienza a preguntarse si cada caracter es igual al final o sea '\0' , hace eso y siempre entra a la recursividad antes de imprimir nada, lo que no entiendo es el final, cuando encuentra '\0' la sentencia return? que hace?, lei que provoca una salida inmediata de la funcion hacia el punto donde fue llamada?, o sea cuando es que se empieza a imprmir el caracter a?
Código
  1.  
9  Programación / Programación C/C++ / duda con otro función en c en: 29 Noviembre 2018, 03:13 am
Gente linda como andan?, espero que anden bien, necesito otra ayudita, el problema dice esto:

La siguiente función imprime de manera iterativa una cadena de caracteres:
void imprimir_iter(char * pcad){
while(*pcad != '\0'){
printf("%c",*pcad);
pcad++;
}
}
a) Realice la versión recursiva de la función anterior.
b) Modifique la función recursiva para que imprima la cadena inv

hasta ahora hice esto y parece que mi pc va a estallar:

void imprimir_ite(char *pcad);


int main()
{
    char cad[80];
    printf("ingrese la cadena de caracteres\n");
    gets(cad);
    imprimir_ite(cad);
    return 0;
}


void imprimir_ite(char *pcad)
{
    if(*pcad!='\0')
    {
        printf("%c",*pcad);
        pcad++;
        imprimir_ite(*pcad);

    }
    return;
}
les cuento en aparecen 2 errores, uno en la linea 21 que dice que estoy definiendo un puntero entero sin conversión??¿ y otro en la 16 que dice que espera un char pero recibe un entero?¿,
es obvio que el problema esta en la arquitectura de mi funcion



















10  Programación / Programación C/C++ / duda con función en c en: 13 Noviembre 2018, 04:42 am
Buenas como va?, tengo una duda con un ejercicio de calculadora en c, pero no c si esta bien redactado, es un ejercicio de calculadora de los cuales esta lleno en Internet pero este dice lo siguiente:
Escriba una función que tome dos números enteros y un carácter como argumento. El valor de retorno debe ser un cálculo efectuado sobre los dos números según indique el carácter, que podrá ser ‘+’, ‘-’, ‘*’ o ‘/’. Usar la estructura de control switch



ahora mi duda es, yo puedo definir por ejemplo una función así int calculadora(int n1,int n2, char c) ?
para mi eso esta mal pero entiendo que lo tengo que hacer así?

gracias de antemano
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines