• Martes 30 de Abril de 2024, 03:56

Mostrar Mensajes

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


Temas - franc

Páginas: 1 2 [3]
51
C/C++ / Necesito Ayuda
« en: Miércoles 4 de Febrero de 2004, 23:12 »
Tengo que resolver un ejercicio:

Citar
   Se quiere organizar una liga de fútbol entre 4 países, España, Francia, Gran Bretaña e Italia,  de  tal manera que cada país juega contra los restantes  en una primera vuelta y posteriormente vuelven a jugar en una segunda vuelta. De este modo, si en la primera vuelta se juega el partido España-Francia, en la segunda se jugará  Francia-España. Implementar un programa en C que permita almacenar los datos anteriores. Se deberá guardar un 0 si el partido se ha empatado, un 1 si el ganador es el primer país y un 2 si el ganador es el segundo país. Realiza posteriormente una función que permita consultar el resultado de un partido ( por ejemplo, España-Italia).


este es el codigo que he hecho para intentar resolverlo. Pero no se donde esta el fallo.

¿ Alguien me podria ayudar ?

Gracias ! :)


Código: Text
  1.  
  2.  
  3. # include < stdio.h >
  4. # include < stdlib.h >
  5. # include < conio.h >
  6.  
  7. //tabla de resultados de una liga ( ida y vuelta ).
  8.  
  9.  
  10. char *tabla[5][5];   // inicializo la tabla como vrble universal
  11.  
  12.  
  13. void consultar( )
  14. {
  15.  
  16. char team1[15],team2[15];
  17. int i,j;
  18.  
  19.  
  20.     clrscr();
  21.  
  22.   printf("Introduzca el primer equipo: ");
  23.   gets(team1);  // pido el equipo local
  24.  
  25.   printf("Introduzca el segundo equipo: ");
  26.   gets(team2);  // pido el equipo visitante
  27.  
  28.     if ((team1=="españa")||(team1=="España")) i=1;       // miro a que fila corresponde team1
  29.   else if ((team1=="francia")||(team1=="Francia")) i=2;
  30.     else if ((team1=="Gran Bretaña")||(team1=="gran bretaña")) i=3;
  31.     else if ((team1=="italia")||(team1=="Italia")) i=4;
  32.  
  33.  
  34.  
  35.  
  36.     if ((team2=="españa")||(team2=="España")) j=1;   // miro a que columna corresponde team2
  37.   else if ((team2=="francia")||(team2=="Francia")) j=2;
  38.     else if ((team2=="Gran Bretaña")||(team2=="gran bretaña")) j=3;
  39.     else if ((team2=="italia")||(team2=="Italia")) j=4;
  40.  
  41.  
  42.  
  43.    // veo el resultado de la casilla consultada
  44.     if (tabla[i][j]=="0")    
  45.     printf("\n Partido empatado.");
  46.     else if (tabla[i][j]=="1")
  47.         printf("\n Partido ganado por %s",team1);
  48.            else if (tabla[i][j]=="2")
  49.           printf("\n Partido ganado por %s",team2);
  50.  
  51.  
  52. }
  53. void main()
  54. {
  55.  
  56. int i,j;
  57.  
  58. tabla[5][5]=(char *) malloc (15);  // guardo espacio en memoria
  59.  
  60. //inicializo la tabla.
  61.  
  62. tabla[0][0]="";
  63.  
  64. tabla[1][0]="España";
  65. tabla[2][0]="Francia";
  66. tabla[3][0]="Gran Bretaña";
  67. tabla[4][0]="Italia";
  68.  
  69. tabla[0][1]="España";
  70. tabla[0][2]="Francia";
  71. tabla[0][3]="Gran Bretaña";
  72. tabla[0][4]="Italia";
  73.  
  74.  // bucle para introducir resultados
  75.  
  76.     for(i=1;i<=4;i++)
  77.     {
  78.   for(j=1;j<=4;j++)
  79.   {
  80.          
  81.         if(i!=j){
  82.  
  83.         clrscr();
  84.                                         printf("\nUse 0,1,2 segun corresponda");
  85.         printf("\nIntroduce el resultado. %s - %s: ",tabla[i][0],tabla[0][j]);
  86.         gets(tabla[i][j]);   // voy pidiendo resultados
  87.                                         }
  88.  
  89.                 }
  90.         }
  91.  
  92.  
  93. consultar();   // consultar resultados
  94.  
  95. getche();
  96.  
  97. }   // fin
  98.  
  99.  
  100.  

52
C/C++ / Ejercicio
« en: Martes 27 de Enero de 2004, 21:12 »
Ejercicio:

Construye una función de prototipo

   char *Insertar (char *cad, int car, int pos);

que inserte el carácter car en la posición pos de la cadena cad. La función debe devolver la dirección de cad. Haz dos versiones de la función: una con índices y otra con punteros.


Alguien podria guiarme, intento aprender pero en este ejercicio no entiendo lo que pide.

Muchas gracias

53
C/C++ / Multiplicar Matrices
« en: Martes 27 de Enero de 2004, 12:29 »
Como seria el codigo de multiplicar 2 matrices 3x3 ?

necesito llamar 2 veces a una funcion desde la cual carque 2 matrices 3x3 y que luego se multipliquen y se muestre el resultado :(

54
C/C++ / Ayuda Please !
« en: Martes 20 de Enero de 2004, 21:58 »
Mira tengo estos "codigos" y necesito construir 3 programas ( uno para cada codigo ) que demuestre que ese codigo funciona correctamente, es decir que hay que usar cada codigo.

Yo se lo que hace ( vamos creo que lo se ) pero a la hora de trabajar con el codigo consigo "demostrar" que funciona.

Se supone que los 2 codigos comparan cadenas de forma similar a como lo hace la funcion strcmp()


Si alguien me puede ayudar se lo agradecere ;)

Código: Text
  1.  
  2.  
  3. int compara1 (char *cad1, char *cad2)
  4. {
  5. register int i;
  6. for (i = 0; cad1[i]; i++) if (cad1[i] - cad2[i]) return (cad1[i] - cad2[i]);
  7. return 0;
  8. }
  9.  
  10.  

Código: Text
  1.  
  2. int compara2 (char *cad1, char *cad2)
  3. {
  4. char *p1, *p2;
  5. p1 = cad1;
  6. p2 = cad2;
  7. while (*p1) {
  8. if (*p1 - *p2) return (*p1 - *p2);
  9. else {
  10. p1++;
  11. p2++;
  12. }
  13. }
  14. return 0;
  15. }
  16.  
  17.  

Código: Text
  1.  
  2. int compara3 (char *cad1, char *cad2)
  3. {
  4. char *p1, *p2;
  5. p1 = cad1;
  6. p2 = cad2;
  7. for (; *p1; p1++, p2++) if (*p1 - *p2) return (*p1 - *p2);
  8. return 0;
  9. }
  10.  
  11.  
  12.  


gracias

55
C/C++ / Tablas
« en: Lunes 19 de Enero de 2004, 22:02 »
Pues tengo que hacer un ejercicio que consiste en hacer una agenda de tlf de la siguiente forma: ( 15 nombres + 15 telefonos ) es decir ... mediante una tabla que contenga esos 2 datos... Y despues poder saber el TLF de algun usuario insertando el nombre.


La unica ayuda que necesito es como plantear el ejercicio si en cada "columna" de la tabla necesito introducir una cadena ( en la columna 1 ) y un numero ( en la columna 2 )


Si alguien me puede guiar se lo agradecere ;)

56
C/C++ / Strings
« en: Martes 13 de Enero de 2004, 20:49 »
¿ Alguien podria decirme porque no funciona este codigo ?

Se supone que el programa coge 5 palabras introducidas por el usuario y las ordena de mayor a menor ( por orden de numero de letras  ).

Código: Text
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <string.h>
  4. #define n 5
  5.  
  6. void main()
  7. {
  8.  
  9. char *palabras[n], *aux;
  10. int i,j;
  11.  
  12.  
  13. for(i=0;i<=n-1;i++)
  14. {
  15.  
  16. printf("Introduce la palabra Nº%d: ",i+1);
  17. scanf("%s",palabras[i]);
  18.  
  19. }
  20.      for( i=0; i<n-1; i++ )
  21.           for( j=0; j<n; j++ )
  22.         if (strcmp(palabras[i], palabras[j])>0)
  23.                   {
  24.     aux = palabras[i];
  25.     palabras[i] = palabras[j];
  26.     palabras[j] = aux;
  27.                   }
  28.      printf( "Lista ordenada:\n" );
  29.      for( i=0; i<n; i++ )
  30.    printf( "  %s.\n", palabras[i] );
  31. }
  32.  
  33.  
  34.  
  35.  
  36.  


Muchas gracias !

57
C/C++ / Problema Con Los Strings
« en: Domingo 21 de Diciembre de 2003, 18:36 »
hola, tengo una parte de un codigo que lo que hace es tomar un numero de jugadores ( para una partida ) y luego va pidiendo sus nombres... He pensado en hacerlo de esta forma:

Código: Text
  1.  
  2.  
  3. char pers[n];
  4. int i;
  5. char nombre[10];
  6.  
  7. printf("¿ Para cuantos jugadores es la partida ?: ");
  8. scanf("%ld",&jug);
  9.  
  10. for(i=1;i<=jug;i++)
  11. {
  12. clrscr();
  13. printf("Introduce el nombre del jugador Nº%d: ",i);
  14. gets(nombre);
  15. pers[i]=nombre;
  16.  
  17.  
  18.  

pero el borlandc me dice que no se puede convertir 'char *' en 'char' o algo así.

El objetivo de este codigo es poder usar pers
  • donde X es el numero de cada jugador con su respectivo nombre. De forma que yo podria decir...
Código: Text
  1.  
  2.  
  3. for(j=1;j<=jug;j++)
  4. {
  5. printf("\n\n %s: Introduce el numero ( sin pasarse ): ",pers[j]);
  6. scanf("%ld",&num);
  7. }
  8.  
  9.  

de esta forma con el %s lo que saldria ahí es el nombre de cada jugador ( en teoria no ? )


Si alguien me puede ayudar se lo agradeceria, muchas gracias :)

58
C/C++ / Tengo Un Problema
« en: Domingo 14 de Diciembre de 2003, 22:48 »
Bueno yo uso el borlandc 3.1 y a la hora de ejecutar un programa, la ventana de ejecucion tiene un tamaño determinado, por lo que si imprimes por ejemplo:

num=100;
for(i=0;i<=num;i++)

printf("\n %d",i);

en la ventana solo aparece impreso del 70 o asi hasta el 100, en verdad si que imprime todo pero claro... en la ventana no se ve todo.

Mi pregunta es .... Se puede controlar el tiempo que hay entre la impresion de una secuencia de numeros ?

De forma que por ejemplo cada segundo imprima 3 numeros y asi comprobar que verdaderamente imprime los 100 numeros deseados.

El ejercicio que tengo no es de 100 numeros, esto es solo un ejemplo, solo necesito saber si es posible hace como un "pause" dentro de un programa en C


gracias :)

59
C/C++ / Cuadro Latino
« en: Viernes 12 de Diciembre de 2003, 17:30 »
El programa se llama cuadro latino y consiste en esto:

Para N=4 :


1 2 3 4
4 1 2 3
3 4 1 2
2 3 4 1


Se supone que se debe introducir cualkier numero y te saca el cuadro latino correspondiente ( es un cuadrado de orden NxN )

alguien me puede guiar de como hacer esto ?

gracias

60
C/C++ / Triangulo De Pascal
« en: Domingo 7 de Diciembre de 2003, 19:26 »
Alguien tiene el codigo del programa del triangulo de pascal ?

gracias.


Se supone que el programa pide el numero de filas que quieres que tenga el triangulo y impreme el triangulo.

61
C/C++ / Re: no hay manera de hacer esto ...
« en: Jueves 27 de Noviembre de 2003, 17:53 »
Confeccionar un programa en C que pida un numero entero. Comprobar si es mayor que 0 y menos de 20 y, si lo es, que muestre una secuencia de numeros, repitiendo cada numero tantas veces como el valor repsenta.

Ejemplo: si el usuario introduce un 6 tiene que mostrar ...

1
22
333
4444
55555
666666

:devil:

62
C/C++ / Re: Leer un numero ( scanf )
« en: Miércoles 19 de Noviembre de 2003, 16:58 »
La pregunta es:

Yo tengo un programa y necesito leer un numero, puedo usar por ejemplo el scanf de esta forma:

int num;

printf("Inserta un numero: ");
scanf("%d",&num);

Bien, ahora imaginemos que queremos imprimir el numero que hemos metido sumado +10:

int num;

printf("Inserta un numero: ");
scanf("%d",&num);

printf("La suma es: %d",num+10);

De acuerdo, ¿ y si el usuario le da por NO PONER UN NUMERO y me pone una letra ?


#include <stdio.h>
#include <conio.h>



void main()
{

int num;

printf("Inserta un numero: ");
scanf("%d",&num);

printf("La suma es: %d",num+10);
}


El resultado que obtenemos al poner una letra es el mismo siempre ( 1450 ).

Ahora biene el preguntón: Como hago para que en caso de que el usuario ponga una letra,simbolo o cualkier cosa que no sea un numero... se repita el programa, es decir, que vuelva a preguntar por un nuevo numero pues las letras,simbolos y demas no valen para usar el programa.

¿ Alguien sabe como hacerlo ?


GRACIAS !

63
C/C++ / Re: Juego del siete y medio
« en: Domingo 16 de Noviembre de 2003, 19:49 »
Tengo problemas para resolver el ejercicio pues no se como hacer lo de los numeros aleatorios, aqui os dejo el ejercicio y si alguien me puede ayudar os lo agradeceria mucho !!!!

Gracias !!

Ejercicio:
_________________


Primero tendréis que implementar el juego del 7 y medio. Es decir pedir por pantalla si el usuario quiere carta  o no. En caso afirmativo generar un número aleatorio (entre 0.5 y 7.5). Si superamos el 7 y medio mostrar un mensaje diciendo que el usuario se ha pasado y terminar el programa. En caso contrario, volver a pedir si el jugador quiere carta o no. Si quiere otra carta hacemos lo mismo que en el caso anterior pero ahora sumando el valor de la carta que salga con las anteriores. Así hasta que el jugador se plante o se pase. Si no quiere carta pues terminamos el programa mostrando por pantalla el numero que se ha obtenido y diciendo que se ha plantado. El programa tiene que mostrar en cada jugada la suma total de las cartas que tiene el jugador.

Páginas: 1 2 [3]