@Pedro Henrique Faria Teixe Aqui o código do @Gustavo Andretto com as palavras
organizadas em ordem decrescente.
#include <iostream>
#include <string>
#include <iomanip>
#include <vector>
using namespace std;
int d,f,g;
int main()
{
int number = 0;
cout << "informe a quantidade de palavras ";
cin >> number;
// voce não precisa definir um tamanho para o vetor, push_back já faz isso pra você
//defina um tamanho quando voce precisar ter um tamanho fixo. ex: um buffer
vector<string>palavras/*(number)*/;
string s;
for (int i = 0; i </*=*/ number; i++)
{
/*getline(cin, s);*/
cout << "Digite a " << i+1 << "ª palavra" << endl;
cin >> s;
palavras.push_back(s);
}
cout << endl;
for (int j = 0; j<palavras.size(); j++)
{
cout << palavras[j] << " Tamanho: " << palavras[j].length() << endl;
}
f=palavras.size();
cout << endl;cout << "quantidade de palavras = " << f << endl;cout << endl;
for(int w=0;w<palavras.size()-1;w++)
{
for(int z=w+1;z<palavras.size();z++)
{
f=palavras[w].length();
g=palavras[z].length();
s=palavras[z];
if(f<g){palavras[z]=palavras[w];palavras[w]=s;}
}
}
for(int j=0;j<palavras.size();j++)
{
cout << palavras[j] << endl;
}
cout << "a maior palavra é = " << palavras[0]<<endl;
cout << endl;
cout << "digite um numero e tecle enter para sair ";
scanf("%d",&d);
return 0;
}
com isso a maior palavra estará no vetor na posição [ 0 ], aí veja a quantidade de palavras,
para saber até quanto vai e faça um loop com esse valor menos 1, ( porque o vetor começa
do zero ) , e vai diminuindo a primeira com as demais.