Hola de nuevo, Ronny
En primer lugar no repitas los temas, con ello no conseguirás más ayuda y quizás si rechazo. Elige bien en que subforo colocar tu pregunta, en este caso está bien claro que debe ser en Otros Lenguajes (C, C++, Java, ASM).
En segundo lugar debes poner un título descriptivo a tu problema, ten en cuenta que pretendes que a alguien le llame la atención lea tu hilo, para eso debe estar también bien ubicado. Luego debes explicar bien el escenario de tu problema para conseguir el interés en dar una respuesta. En este caso deberías explicar el problema de los equipos, como se introducen, que hacer con ellos, como has intentado solucionarlo, tu duda concreta, errores encontrados...
Viendo tu código creo haber entendido tu problema, pero obligas a interpretar lo que preguntas y si el código tiene errores, como los tiene, puede ser que no se entienda tu pregunta y nadie responda.
En este foro encontrarás ayuda pero debes ayudar a que así sea con una buena formulación de la misma. Es importante que leas lo que te propone Delphius
Respecto a pedir ayuda urgente, me temo que eso no deja una buena imagen en ti. Aquí no hay hilos con prioridades, se ayuda en la medida en que los compañeros tienen tiempo libre. Espero que sepas entenderlo. Además es parte de nuestras guías y sanas sugerencias. También no estaría mal que te vayas familiarizando con las normas.
Tras estos consejos paso a explicarte lo que veo en tu código.
Tratándose de una tarea de algún profesor, seguramente os ha impuesto una forma de hacerlo determinada. Cómo para conseguir la entrada y salida, a y desde la consola, existen muchas formas en C/C++ pero viendo tu código voy a responderte según lo tienes para que funcione, como creo que te han impuesto, usando string y cin.
Tienes varios errores uno serio es considerar que cin admite strigs y no es así, sólo admite caracteres. De esta forma que debes convertir el nombre del equipo a char[] con la función miembro c_str(). En segundo lugar tienes mal diseñados los índices de comienzo y final de los bucles:
for (int x = n*2; x > n; x++){
for (int j = x+1 ; j > n; j++){
cout << equipo[x] << " vs " << equipo[j] << endl;
}
//.......
Si comienzas por x = n*2 ya estás fuera, porque el límite del bucle debe ser ¡menor que n, que es el número de equipos!. Además el límite superior es erróneo, es un bucle creciente por lo que no puede ser mayor que n. Ambos bucles anidados son incorrectos con lo que tendrás un bucle infinito en tiempo de ejecución. El bucle for se lee así: "para x igual a valor, mientras que valor sea menor que n, hago... e incremento x". Piensa bien este punto pues es la base del algoritmo donde no puedes fallar.
La línea con ignore está mal posicionada con lo que te pide dos "Enter" entre cada equipo nuevo.
El código corregido sería algo como esto:
#include<iostream>
#include<cstdlib>
#include<string>
using namespace std;
int main()
{
string equipo[30];
int n;
cout << "--------------> SOCCER APP <----------------" << endl;
cout << endl;
cout << "** Si el numero de equipos a agregar es impar anadir un (equipo fantasma) **" << endl;
cout << "** Este mostrara el equipo que descansara una de las jornadas **" << endl;
cout << endl;
cout << "Ingrese un numero par de equipos: " << endl;
cin >> n;
if (n % 2 == 0){
cin.ignore(256, '\n');
for (int x = 0; x < n; x++){
cout << "Ingrese el nombre del equipo" << " " << x + 1 << ":" << endl;
getline(cin, equipo[x]);
}
for (int x = 0; x < n; x++){
for (int j = x+1 ; j < n; j++)
cout << equipo[x].c_str() << " vs " << equipo[j] << endl;
cout << "\n";
}
}
else
cout << "El numero de equipos seleccionados es impar NO se puede continuar :(" << endl;
system("pause");
}
Un último consejo, indenta tu código para que sea más fácil de leer.
Saludos.