Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/11/2015, 15:48
joguille9
 
Fecha de Ingreso: noviembre-2015
Mensajes: 4
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Juego de la suerte

ok ok! pues he avanzado un poco, creo que esta muy largo mi código seguramente se puede hacer mas corto pero bueno no me puedo algo mejor.

#include <stdio.h>
#include <stdlib.h>
#define N 10

int main()
{
printf(" Gluecksspiel\n");
int n =3;
char *spi1, *spi2, *spi3;
char i;
char j;
char g;

spi1 = (char*) malloc(N*sizeof(char));
spi2 = (char*) malloc(N*sizeof(char));
spi3 = (char*) malloc(N*sizeof(char));

if(spi1 != NULL)
{
printf("Spieler 1 gibt seine Zahlen ein :\n" );
for (i = 0; i < n; i++)
scanf("%s", &spi1[i]);
//gets(spi1);
}
else {
printf("\nNicht genuegend Speicherplatz fuer spi1.\n");
}
if(spi2 != NULL)
{
printf("Spieler 2 gibt seine Zahlen ein :\n" );
for (i = 0; i < n; i++)
scanf("%s", &spi2[i]);
//gets(spi2);
}
else {
printf("\nNicht genuegend Speicherplatz fuer spi2.\n");
}

if(spi3 != NULL)
{
printf("Spieler 3 gibt seine Zahlen ein :\n" );
for (i = 0; i < n; i++)
scanf("%s", &spi3[i]);
//gets(spi3);
}
else {
printf("\nNicht genuegend Speicherplatz fuer spi3.\n");
}

printf("Geben Sie bitte die Gewinnerzahl ein: ");
scanf("%s", &g);

do{
for(i = 0; i < n; i++)
if(spi1[i] == spi1[i+1])
printf("Eine Zahl von Spieler 1 ist zwei gewaelht\n");
for(i = 0; i < n; i++)
if(spi2[i] == spi2[i+1])
printf("Eine Zahl von Spieler 2 ist zwei gewaelht\n");
for(i = 0; i < n; i++)
if(spi3[i] == spi3[i+1])
printf("Eine Zahl von Spieler 3 ist zwei gewaelht\n");
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
if(spi1[i] == spi2[j])
printf("Eine Zahl war von Spieler 1 und Spieler 2 gewaelht\n");
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
if(spi2[i] == spi3[j])
printf("Eine Zahl war von Spieler 2 und Spieler 3 gewaelht\n");
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
if(spi1[i] == spi3[j])
printf("Eine Zahl war von Spieler 1 und Spieler 3 gewaelht\n");

}while(0);


do{
for(i = 0; i < n; i++)
if(spi1[i] == g)
printf("Der Gewinner ist der Spieler 1");
for(i = 0; i < n; i++)
if(spi2[i] == g)
printf("Der Gewinner ist der Spieler 2");
for(i = 0; i < n; i++)
if(spi3[i] == g)
printf("Der Gewinner ist der Spieler 3");
}while(0);
//printf("Spi3[0]: %c", spi3[0]);


return 0;
}

Soy sincero he hecho todo a prueba y error. hasta ahora me compara bien los caracteres de cada jugador y me dice cuando hay repetidos. Pero no se como parar el programa, es decir; que no me de al ganador! Igual cuando ingreso números sin repetir y quiero que gane el 3 jugador no me imprime!

Gracias y creo que me esforzado hahaha.