Ir ao conteúdo

Posts recomendados

Postado

@Pedro Henrique Faria Teixe    depois de fazer as declarações iniciais coloque esses comandos

getline(cin, algumapalavra);
f=algumapalavra.length();

com isso você vai pegar a primeira palavra e f conterá o tamanho da palavra (a quantidade de

caracteres),  depois pegue a segunda palavra e faça o mesmo usando outra variável, depois

subtrair a primeira pela segunda e mostrar o resultado..

  • Curtir 1
Postado

Obrigado!

adicionado 7 minutos depois

@devair1010 Eu estou usando Vector pra guardar as string no vetor, olhe o código

#include <iostream>
#include <string>
#include <iomanip>
#include <vector>


using namespace std;

int main()
{
    int number = 0;
                            cin >> number;
                            
    vector<string>palavras(number);
    string s;


                for(int i=0;i<=number;i++){
                    getline(cin,s);
                    palavras.push_back(s);

                }

                for(int j=0; j<palavras.size();j++){
                    cout << palavras[j] << endl;
                }



return 0;
}

e preciso obter o tamanho da maior string do vetor para diminuir com as demais, você sabe algum método?

  • Curtir 1
Postado

@Pedro Henrique Faria Teixe não entendi muito bem essa parte: 

Citação

pegar o tamanho da primeira e o da segunda e  fazer uma operação de subtração.

se você quer saber o tamanho da string use std::string::length() pra saber o tamanho da string, segue abaixo:

#include <iostream>
#include <string>
#include <iomanip>
#include <vector>

using namespace std;

int main()
{
	int number = 0;
	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);*/
		cin >> s;
		palavras.push_back(s);
	}

	for (int j = 0; j<palavras.size(); j++)
	{
		cout << palavras[j] << " Tamanho: " << palavras[j].length() << endl;
	}

	/*
	int maior = 0;
	for (int i = 0; i < palavras.size(); i++)
	{
		if (palavras[i].length() > maior)
			maior = i;
	}

	cout << "Maior string: " << palavras[maior] << " Tamanho: " << palavras[maior].length() << endl;
	*/

	return 0;
}
  • Curtir 2
Postado

@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.

  • Curtir 2
Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!