online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
/* Escriba un programa en C++ que lea una frase (asuma minúsculas) de máximo 25 palabras (sin signos ortográficos ni tildes ni ñ) y la ordene alfabéticamente, utilice el método de ordenación por selección. Ejemplo de salida: > Escriba una frase: la obra maestra de la injusticia es parecer justo sin serlo > Frase ordenada: de es injusticia justo la la maestra obra parecer serlo sin */ #include <iostream> #include <string> using namespace std; void imprimir(string vector[], int n){ for (int i=0; i<n; i++) cout<<vector[i]<<" "; cout<<endl; } void ordSeleccion(string vector[], int n){ int indMenor; string aux; for(int i=0; i<n-1; i++){ indMenor=i; for(int j=i+1; j<n; j++) if(vector[j] < vector[indMenor]) indMenor=j; if(i != indMenor){ aux = vector[i]; vector[i] = vector[indMenor]; vector[indMenor] = aux; } } } int main(){ int n=0, i, ini=0; string frase; string vector[25]; //Crea el vector para las 25 palabras int pos[25]={}; //Crea el vector para las posiciones de los 25 espacios cout<<"Ingrese la frase: "; getline(cin, frase); //Contar palabras for(i=0; i<frase.length(); i++) if (frase[i] == ' ') //Cuenta espacios n++; if (n > 24) return 0; //Termina si tiene mas de 24 espacios //Armando el vector de espacios ini=0; for(i=0; i<n; i++){ pos[i] = frase.find(" ", ini); ini = pos[i]+1; } pos[i] = frase.length(); //Coloca un espacio al final de la frase //Armando la lista de palabras ini = 0; for(i=0; i<n+1; i++) //Busca cada espacio { vector[i] = frase.substr(ini, pos[i]-ini); ini = pos[i]+1; } imprimir(vector, n+1); //La cantidad de palabras es la cantidad de espacios mas 1 ordSeleccion(vector, n+1); imprimir(vector, n+1); return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue