[ Foro de Pascal ]
Buenas tardes
Quisiera saber como hago para conseguir el equipo más ganador en una serie de juegos, me explico:
tengo un numero N de equipos y un numero M de juegos, ademas tengo el equipo A y el equipo B, los goles de A y los goles de B.
Mi pregunta es, teniendo estos datos, como consigo al equipo más ganador?
Muchas gracias
Para encontrar al equipo más ganador en una serie de juegos, puedes usar un registro en Pascal para almacenar los datos de cada equipo, incluyendo el número de juegos ganados. Luego, puedes recorrer todos los juegos y actualizar el número de juegos ganados para cada equipo en función de los resultados del juego. Finalmente, puedes recorrer todos los equipos para encontrar el equipo con el mayor número de juegos ganados.
Aquí hay un ejemplo de código en Pascal para lograr esto:
program equipo_mas_ganador;
type
Equipo = record
nombre: string;
juegos_ganados: integer;
end;
var
n, m, goles_a, goles_b, i, j: integer;
equipo_a, equipo_b, equipo_mas_ganador: Equipo;
equipos: array of Equipo;
begin
// Pedir entrada de datos
writeln('Ingrese el número de equipos: ');
readln(n);
SetLength(equipos, n); // asignar la longitud del arreglo de equipos
// Pedir nombres de equipos
for i := 0 to n-1 do
begin
write('Ingrese el nombre del equipo ', i+1, ': ');
readln(equipos[i].nombre);
equipos[i].juegos_ganados := 0; // inicializar juegos ganados a 0
end;
// Pedir entrada de datos de juegos y actualizar juegos ganados para cada equipo
writeln('Ingrese los resultados de los juegos:');
for j := 1 to m do
begin
write('Juego ', j, ': ');
readln(equipo_a.nombre, goles_a, equipo_b.nombre, goles_b);
// Actualizar juegos ganados para equipo A
for i := 0 to n-1 do
begin
if equipos[i].nombre = equipo_a.nombre then
begin
if goles_a > goles_b then
equipos[i].juegos_ganados := equipos[i].juegos_ganados + 1;
break;
end;
end;
// Actualizar juegos ganados para equipo B
for i := 0 to n-1 do
begin
if equipos[i].nombre = equipo_b.nombre then
begin
if goles_b > goles_a then
equipos[i].juegos_ganados := equipos[i].juegos_ganados + 1;
break;
end;
end;
end;
// Encontrar equipo más ganador
equipo_mas_ganador := equipos[0];
for i := 1 to n-1 do
begin
if equipos[i].juegos_ganados > equipo_mas_ganador.juegos_ganados then
equipo_mas_ganador := equipos[i];
end;
// Imprimir resultado
writeln('El equipo más ganador es ', equipo_mas_ganador.nombre, ' con ', equipo_mas_ganador.juegos_ganados, ' juegos ganados.');
end.
En este ejemplo, se utiliza un arreglo dinámico de registros de equipo para almacenar los datos de cada equipo, incluyendo su nombre y el número de juegos ganados. Luego, se pide la entrada de datos para el número de equipos y sus nombres, así como para el número de juegos y los resultados de cada juego. Los resultados de los juegos se utilizan para actualizar el número de juegos ganados para cada equipo en función de los resultados del juego. inalmente, se recorre el arreglo de equipos para encontrar el equipo con el mayor número de juegos ganados y se almacena en la variable 'equipo_mas_ganador'. Si hay varios equipos con el mismo número máximo de juegos ganados, el código anterior solo devuelve el primer equipo encontrado en la lista.
Después de encontrar el equipo más ganador, el código simplemente lo imprime en la pantalla junto con el número de juegos ganados del equipo.
Espero que esto te ayude a entender cómo utilizar registros en Pascal para encontrar el equipo más ganador en una serie de juegos.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)