Dev - C++ - Ayuda para convertir código de lenguaje c a c++

 
Vista:
Imágen de perfil de Neryza
Val: 4
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda para convertir código de lenguaje c a c++

Publicado por Neryza (3 intervenciones) el 06/03/2020 05:55:45
Rock-Paper-Scissors es un juego para dos jugadores, A y B, que cada uno elige,
independientemente del otro, uno de piedra, papel o tijera. Un jugador eligiendo
el papel gana a un jugador que elige roca; un jugador que elige las tijeras gana a un
papel de elección del jugador; un jugador que elige roca gana sobre un jugador que elige
tijeras. Un jugador que elige lo mismo que el otro jugador no gana ni
pierde Se ha organizado un torneo en el que cada uno de los n jugadores juega k
juegos de piedra-tijera-papel con cada uno de los otros jugadores - k * n * (n-1) / 2 juegos
en total. Su trabajo es calcular el promedio de ganancias para cada jugador, definido como
w / (w + l) donde w es la cantidad de juegos ganados y l es la cantidad de juegos
perdido, por el jugador.

Especificación de entrada
La entrada consta de varios casos de prueba. La primera línea de entrada para cada caso.
contiene 1 <= n <= 100 y 1 <= k <= 100 como se definió anteriormente. Para cada juego, un
sigue la línea que contiene p1, m1, p2, m2. 1 <= p1 <= n y 1 <= p2 <= n son
enteros distintos que identifican a dos jugadores; m1 y m2 son sus respectivos movimientos
("piedra", "tijera" o "papel"). Una línea que contiene 0 sigue al último caso de prueba.

Especificación de salida
Juez en línea del Caribe
-1-
Salida de una línea cada uno para el jugador 1, jugador 2, y así sucesivamente, a través del jugador n, dando
El promedio de ganancias del jugador se redondea a tres decimales. Si el promedio de victorias es
indefinido, salida "-". Salida de una línea vacía entre casos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <string.h>
int w[200], l[200];
int p1,p2,i,j,k,m,n;
char m1[10], m2[10];
main(){
	printf("Rock-Paper-Scissors Tournament");
	printf("\n");
	for(m=0; 1<=scanf("%d%d",&n,&k)&& n; m++){
		if(m){
			printf("\n");
			memset(w,0,sizeof(w));
			memset(l,0,sizeof(l));
		}
		for(i=0; i<k*n*(n-1)/2;i++){
			scanf("%d%s%d%s",&p1,m1,&p2,m2);
			if(!strcmp(m1,"rock") && !strcmp(m2,"scissors") || !strcmp(m1,"scissors") && !strcmp(m2,"paper") ||
			   !strcmp(m1,"paper") && !strcmp(m2,"rock")){
				w[p1]++;
				l[p2]++;
			}
				if(!strcmp(m2,"rock") && !strcmp(m1,"scissors") || !strcmp(m2,"scissors") && !strcmp(m1,"paper") ||
				   !strcmp(m2,"paper") && !strcmp(m1,"rock")){
				w[p2]++;
				l[p1]++;
			}
		}
		for(i=1;i<=n;i++){
			if(w[i]+l[i]) printf("%0.3lf\n",(double)w[i]/(w[i]+l[i]));
			else printf("-\n");
		}
 
	}
	if(n) printf("error! %d\n",n);
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda para convertir código de lenguaje c a c++

Publicado por miguelZ (1 intervención) el 06/03/2020 17:50:19
Pero cual es tu duda agrega el avance de codigo de conversion
en donde te estas deteniendo


saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Neryza
Val: 4
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Ayuda para convertir código de lenguaje c a c++

Publicado por Neryza (3 intervenciones) el 08/03/2020 03:02:03
Esta bien el código esta bien pero esta en c y no se como ponerlo en c++
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar