Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

personal.saulo2

Problemas em varrer string

Recommended Posts

Boa tarde pessoal

Sou iniciante em programação e comecei logo com c++, só que estou tendo dificuldades em resolver problemas que envolvem strings, será que poderiam me ajudar ? apenas um start.

Um exemplo:

 

CODE
/*Inserir 5 nomes e para cada nome imprimir:

ultimo caracter:

do primeiro ate o quarto:

todo o nome:

primeiro caracter:

segundo caracter:

todos menos o primeiro:

os dois últimos caracteres:

*/

 

O que eu já desenvolvi:

CODE

#include <iostream>

#include<cctype>

#include<cstring>

using namespace std;

int main()

{

int x,tam;

char nome[30];

for(x=0; x<5; x++)

{

tam = strlen(nome);

cout<<"Entre com um nome: ";

cin.getline(nome, 30);

cout<<"\nNome todo: "<<nome;

cout<<"\nPrimeiro caracter: "<<nome[strlen(nome-1)];

cout<<"\nUltimo Caracter: "<<nome[strlen(nome+1)]<<"\n";

 

}

system("pause");

}

 

Eu acredito que seja mais um problema de lógica do que programação em si.

 

Desde já agradeço a vocês.

abrações.

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa, eu faria o seguinte para pegar o primeira caracter:

cout<<"\nPrimeiro caracter: "<<nome[0]; <<endln

ai do primeiro até o quarto faz um loopzinho até o penultimo caracter..

 

caso ainda tenha duvidas posta ae!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <iostream>
#include <string>
using namespace std;
int main() {
  int x;
  string nome;
  for(x=0; x<5; x++) {
    cout<<"Entre com um nome: ";
    getline(cin,nome);
    cout << "\nNome todo: " << nome;
    cout << "\nPrimeiro caracter: " << *(nome.begin());
    cout << "\nUltimo Caracter: " << *(nome.end()-1) << endl;
  }

  return 0;
}

 

 

 

 

Vou começar uma campanha contra fflush(stdin) e system.Estou falando sério.Escrever isso no Opera tá muito ruim...

 

 

 

*(nome.begin()) = nome.at(0) = nome[0]

 

*(nome.end()-1) = nome.at(nome.size()-1) = nome[nome.size()-1]

 

 

 

Estou revisitando C++ e to tentando me acostumar com a sintaxe mais bizarra da coisa,já que não vi isso na faculdade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa, eu faria o seguinte para pegar o primeira caracter:

cout<<"\nPrimeiro caracter: "<<nome[0]; <<endln

ai do primeiro até o quarto faz um loopzinho até o penultimo caracter..

 

caso ainda tenha duvidas posta ae!

 

[]'s

 

 

Não tenho idéia de como montar esse looping de pegar até penúltimo caracter. não sei, se crio uma variavel para armazenar ou criar um for.... to meio perdido hehe.... mas já valeu a atenção de vocês.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.