C/Visual C - Apuntadores en String

   
Vista:

Apuntadores en String

Publicado por Alicia Castillo (1 intervención) el 06/10/2015 00:53:55
Hola foro, buenas.

Tengo una duda mientras realizaba unos ejercicio de la facultad, estoy realizando un programa para encontrar la palabra más pequeña dentro de un párrafo mediante apuntadores, la duda que tengo es ya casi al final, donde solo me queda apuntar a la localidad donde conté la menor cantidad de caracteres y extraer esa palabra hacia otro apuntador o a un char y regresar la palabra.
Espero me puedan ayudar

Aquí mi código

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// plox.cpp: define el punto de entrada de la aplicación de consola.
#include "stdafx.h"
#include "iostream"
#include "string.h"
#include "stdlib.h"
#include <string>
#include <cstdio>
#include <cctype>
using namespace std;
 
const int Min = 256;
 
int _tmain(int argc, _TCHAR* argv[])
{
	string str1;
	char* ptrParrafo;
	char chr;
	char Oracion[256] = " ";
	char PalPeque[256] = " ";
	char* Guardar="";
	int Contador=1, P=0, menor=99;
 
	cout << " Para comenzar, escribe un parrafo de tu libro favorito." << endl;
 
	getline(cin,str1);
	strcpy (Oracion, str1.c_str());
	ptrParrafo=Oracion-1;
 
	while(*ptrParrafo != '\0')
	{
		if (*ptrParrafo == ' ')
		{
			Contador = Contador++;
			if (P <= menor)
			{
				menor = P;
				P = 0;
			}
//Aquí es donde tengo duda...
			else
				if (*ptrParrafo < menor)
			{
				strncpy(PalPeque, ptrParrafo, menor);
					ptrParrafo=PalPeque;
			    Guardar=ptrParrafo;
			}
//hasta aquí 
		}
		else{ P++; }
	  ptrParrafo++;
	}
 
	Guardar=++ptrParrafo;
cout<<"La cantidad de palabras son: "<<Contador<<endl;
cout<<"La palabra menor tiene: "<<menor<<" caracteres."<<endl;
cout << "Y la palabra es: " << Guardar<<" ptr: "<<ptrParrafo<<" Y PQ: "<< PalPeque<<endl;
 
	return 0;
}

Espero me puedan ayudar, les dejo mi correo y así por cualquier cosa: SuicideAlice@outlook.com
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder