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 General
| | |-+  Ejercicios
| | | |-+  Retos C/C++
0 Usuarios y 3 Visitantes están viendo este tema.
Páginas: 1 2 3 4 5 6 [7] 8 9 Ir Abajo Respuesta Imprimir
Autor Tema: Retos C/C++  (Leído 55,372 veces)
[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: Retos C/C++
« Respuesta #60 en: 1 Septiembre 2010, 03:21 am »

:xD 5 dias y sin respuestas... alguien se propone poner algun reto?


En línea

OwNet

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Retos C/C++
« Respuesta #61 en: 1 Septiembre 2010, 21:37 pm »

mi solucion va quedando asi algun pequeno error que lo corrijo esta noche o alguien de ustedes corrijalo es que estoy de salida :)
Código:
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <set>
#include <map>
#include <vector>
#include <iomanip>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <list>
#include <climits>

using namespace std;
struct participantes
{
    int puntos;
    int resueltas;
    int id;
}conts[2001];
bool operator<(const struct participantes &a, const struct participantes &b)
{
    if (a.puntos!=b.puntos)
        return a.puntos<b.puntos;
    else if (a.resueltas!=b.resueltas)
        return a.resueltas<b.resueltas;
    else
        return a.id<b.id;

}
int main()
{
    ios_base::sync_with_stdio(0);
    int x, y, N, T, P, val;
    while (cin>>N>>T>>P)
    {
        int valor[T];
        for (x=0; x<N; x++)
        {
            conts[x].id=x;
            conts[x].puntos=0;
            for (y=0; y<T; y++)
            {
                cin>>val;
                if (val==1)
                {
                    conts[x].resueltas++;

                }
                else
                    valor[y]++;
            }
        }

        for (x=0; x<N; x++)
        {
            for (y=0; y<T; y++)
            {
                conts[x].puntos+=valor[y];
            }
        }

        cout<<conts[P].puntos<<" ";
        sort(conts, conts+N);
        for (x=0; x<N; x++)
        {
            if (P==conts[x].id)
            {
                cout<<x+1<<endl;
                break;
            }
        }
    }


    return 0;
}


« Última modificación: 2 Septiembre 2010, 07:22 am por OwNet » En línea

OwNet

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Retos C/C++
« Respuesta #62 en: 2 Septiembre 2010, 07:13 am »

Bueno ya lo tengo resuelto les dejo el codigo
Código:
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <set>
#include <map>
#include <vector>
#include <iomanip>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <list>
#include <climits>

using namespace std;
struct participantes
{
    int puntos;
    int resueltas;
    int id;
}conts[2001];
bool operator<(const struct participantes &a, const struct participantes &b)
{
    if (a.puntos!=b.puntos)
        return a.puntos<b.puntos;
    else if (a.resueltas!=b.resueltas)
        return a.resueltas<b.resueltas;
    else
        return a.id<b.id;

}
int main()
{
    ios_base::sync_with_stdio(0);
    int x, y, N, T, P, val;
    while (cin>>N>>T>>P)
    {
        int valor[T];
        int mat[N][T];
        for(x=0; x<T; x++)
        valor[x]=0;
        for (x=0; x<N; x++)
        {
            conts[x].id=x;
            conts[x].puntos=0;
            for (y=0; y<T; y++)
            {
                cin>>mat[x][y];
                if (mat[x][y]==1)
                conts[x].resueltas++;
                else
                    valor[y]++;
            }
        }

        for (x=0; x<N; x++)
        {
            for (y=0; y<T; y++)
            {
                if(mat[x][y]==1)
                conts[x].puntos+=valor[y];
            }
        }

        cout<<conts[P-1].puntos<<" ";
        sort(conts, conts+N);
        //reverse(conts, conts+N);

        for (x=0; x<N; x++)
        {
            if ((P-1)==conts[x].id)
            {
                cout<<x+1<<endl;
                break;
            }
        }
    }


    return 0;
}


Reto #15

Dado un conjunto de mujeres en las cuales en cada una de ellas se representa su belleza, elegancia y educacion. Si dentro de este mismo conjunto una de ellas encuentra que alguien es mas bella mas elegante y mas culta que ella. Ella optara por suicidarse .

Entrada

El primer dato de entrada sera el numero de mujeres que se analizaran las siguientes n lineas seran descritas cada una por los tres atributos antes mencionados
belleza elegancia y educacion

Salida

La salida sera el numero de suicidios que ocurriran tomando en cuenta los datos anteriores

por ejemplo

Entrada
Código:
5
4 4 3
2 3 2
23 3 3
2 3 3
4 4 4

Salida

Código:
2


En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: Retos C/C++
« Respuesta #63 en: 2 Septiembre 2010, 19:25 pm »

Aqui esta el codigo... voy a comer, traigo el reto en aproximadamente 1 hora.
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct locas
  6. {
  7.    int b,c,d,e;
  8. };
  9.  
  10. int main()
  11. {
  12. int a,i=0,j=0,t=0,k;
  13. cin>>a;
  14. locas b[a];
  15. for(i;i<a;i++){cin>>b[i].b>>b[i].e>>b[i].c; b[i].d=0;}
  16.  
  17. for(i=0;i<a;i++)
  18. {
  19. for(j=0;j<a;j++)
  20. {
  21. if(b[i].b>b[j].b && b[i].e>b[j].e && b[i].c>b[j].c)
  22. {
  23.    if(b[j].d==1)continue;
  24.    else
  25.    {
  26.                                    t++;
  27.                                    b[j].d=1;
  28.                                    break;
  29.    }
  30.    }
  31.                         }
  32. }
  33. cout<<t<<endl;
  34. }
  35.  
« Última modificación: 2 Septiembre 2010, 19:53 pm por Lord R.N.A. » En línea

[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: Retos C/C++
« Respuesta #64 en: 3 Septiembre 2010, 00:11 am »

Reto #16: Un bloque de masa M, inicialmente en reposo, se jala hacia la derecha a lo largo de una superficie horizontal mediante una fuerza horizontal constante F. Este se mueve una distancia(metros) D sobre una superficie con un coeficiente de friccion N. El resultado debe de ser la velocidad final del bloque exactamente al recorrer esa distancia.

Código:
Entradas:

Masa = 6.0
Fuerza = 12
Distancia = 3.0
Friccion = 0.15

El resultado por pantalla sera:

Velocidad Final del Bloque 1.8 m/s.
« Última modificación: 3 Septiembre 2010, 03:54 am por Lord R.N.A. » En línea

carlitos_jajajajaja

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Retos C/C++
« Respuesta #65 en: 9 Septiembre 2010, 07:20 am »

Resuelto...


Código
  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4.  
  5. inline void limpiar()
  6. {
  7. while(getchar() != '\n');
  8. }
  9.  
  10. int main()
  11. {
  12. //aceleracion causada por la gravedad
  13. const float g = 9.81;
  14. //Datos
  15. float M,F,D,N;
  16. //Datos intermedios:
  17. //fuerza causada por friccion, Fuerza neta sobre la masa, aceleracion
  18. float Ff, Fn, a;
  19. //Respuesta:
  20. float v;
  21.  
  22. cout << "Introduzca la masa" << endl;
  23. cin >> M;
  24. limpiar();
  25. cout << "Introduzca la fuerza" << endl;
  26. cin >> F;
  27. limpiar();
  28. cout << "Introduzca la distancia" << endl;
  29. cin >> D;
  30. limpiar();
  31. cout << "Introduzca el coeficiente de friccion" << endl;
  32. cin >> N;
  33. limpiar();
  34.  
  35. Ff = N*M*g;
  36. Fn = F - Ff;
  37. if(Fn < 0)
  38. {
  39. //No hay movimiento, la friccion es mas grande que la fuerza
  40. cout << "Velocidad final del bloque 0 m/s." << endl;
  41. exit(0);
  42. }
  43. a = Fn/M;
  44. v = sqrt(2.0*a*D);
  45. cout.precision(1);
  46. cout << "Velocidad final del bloque ";
  47. cout << fixed << v;
  48. cout << " m/s." << endl;
  49. cin.get();
  50. }
  51.  


Reto #17

Generar aleatoriamente 2 numeros enteros de 30 cifras y mostrar el resultado exacto de su suma
En línea

Merodeo los foros, esperando el momento de decir algo inteligente...

Se necesita paciencia
Komodo


Desconectado Desconectado

Mensajes: 352



Ver Perfil
Re: Retos C/C++
« Respuesta #66 en: 9 Septiembre 2010, 09:15 am »

Un entero no puede tener tantas cifras....
En línea


Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Retos C/C++
« Respuesta #67 en: 9 Septiembre 2010, 14:45 pm »

Creo que ese es el reto :rolleyes:

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
ace332

Desconectado Desconectado

Mensajes: 66


Ver Perfil
Re: Retos C/C++
« Respuesta #68 en: 11 Septiembre 2010, 13:59 pm »

Creo que ya la tengo!  ;D

Código:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

typedef char ent30[31];

void aleat30(ent30 z);
void sumarn30(ent30 a,ent30 b,ent30 suma,int *acarreo);

int main(void)
{
  ent30 a,b,suma;
  int acarreo;

  srand(time(0));
  aleat30(a);
  aleat30(b);

  sumarn30(a,b,suma,&acarreo);

  printf("   a = %31s\n   b = %31s\nsuma = %d%30s\n",a,b,acarreo,suma);
  return 0;
}

void aleat30(ent30 z)
{
  int i;
  for(i=0;i<30;i++)
  {
    z[i]='0'+rand()%10;
  }
  z[30]='\0';
}

#define CharADig(c) ((int)((c)-'0'))
#define DigAChar(d) ((char)(d)+'0')

void sumarn30(ent30 a,ent30 b,ent30 suma,int *ua)
{
  int i,ap=0;
  suma[30]='\0';
  for(i=29;i>=0;i--)
  {
    const int sumadig=CharADig(a[i])+CharADig(b[i])+ap;
    suma[i]=DigAChar(sumadig%10);
    ap=sumadig/10;
  }
  *ua=ap;
}

Reto #18 (Otro que tiene que ver con números grandes):

Calcular el factorial de un número n, 0<=n<=100. Sin usar tipos de datos de punto flotante (float, double, etc).
Y para los que puedan pensar que es una tarea, pues no, no lo es. :P  :¬¬
« Última modificación: 11 Septiembre 2010, 14:03 pm por bigfish781 » En línea

Og.


Desconectado Desconectado

Mensajes: 822


Aprendiendo de la vida


Ver Perfil
Re: Retos C/C++
« Respuesta #69 en: 13 Septiembre 2010, 07:30 am »

Regrese XD
Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int fact(int val)
  6. {
  7.   if(val==0)
  8.      return 1;
  9.   else
  10.      return val*fact(val-1);
  11. }
  12.  
  13. int main(void)
  14. {
  15.    int N;
  16.    cin >> N;
  17.    cout << fact(N) << endl;
  18.    return 0;
  19. }
  20.  

Reto #19

Escalando la piramide

supon que hay una piramide, y quieres saber cual es la cantidad maxima de piedras que puedes recolectar subiendo directamente a la sima.

Entrada

un numero N que dice el numero de pisos en la piramide.
N lineas con el numero de piedras que hay en cada punto de la piramide.
el ultimo piso de la piramide siempre sera de 1 solo bloque, el penultimo de 2 , el ante penultimo de 3 y asi hasta llegar al piso

Salida

Un entero que indique el numero maximo de piedras que se puedan juntar.

Ejemplo
Código:
3
1
2 1
1 0 1

esos datos se deben interpretar asi:



Salida

Código:
4
En línea

|-
Páginas: 1 2 3 4 5 6 [7] 8 9 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Retos .Net « 1 2 3 »
Ejercicios
[D4N93R] 20 20,015 Último mensaje 6 Diciembre 2010, 03:26 am
por final_frontier
Concursos y retos
Programación General
lnvisible 0 2,298 Último mensaje 12 Diciembre 2010, 19:44 pm
por lnvisible
cuando consigo nuevos retos? « 1 2 »
WarZone
Tyrz 11 6,002 Último mensaje 15 Junio 2011, 23:11 pm
por [-Franko-]
Desarrollo de Retos Informaticos
Desarrollo Web
Sinedra 0 3,236 Último mensaje 23 Febrero 2011, 19:23 pm
por Sinedra
Retos C/C++
Programación C/C++
N0body 5 10,961 Último mensaje 9 Mayo 2011, 09:54 am
por ghastlyX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines