#include<conio.h>
#include <iostream>
using namespace std;
char *ptrmatrix;
int n;
void datos(void){
int op=0,cont=0, ciclo=0,contEle=0, num=0;bool sal=false;
while(op!=3){
char categ[20];//no pueden haber palabras tan extensas
cout<<"Digite categoria: ";cin>>categ;
for(int i=0; categ[i] != '\0';i++){
//cout<<categ[i]<<endl;
cont++;
}num++;
ptrmatrix= new char[cont];//1 el tamañoo aumenta en cada iteracion
//entra cada elemento de la categoria
for(int j=ciclo;j<cont;j++){
ptrmatrix[j]=categ[contEle];
contEle++;
}contEle=0;sal=true;
cout<<"Digite 3 para salir";
cin>>op;
cout<<endl;
ciclo+=cont;
cont=0;
}
}
void mostrar(void){
cout<<"\nImprimiendo elementos: ";
for (int i=0;i<n;i++){
cout<<" "<<ptrmatrix[i]<<endl;
}
}
int main()
{
datos();
//mostrar()
return 0;
}
Lo que intento en este código es agregar mas posiciones del arreglo dinámicamente en tiempo de ejecución, ya que el usuario , va a ingresar palabras nuevas en cada iteración, hasta que el desee y este no me va a definir antes el tamaño de mi arreglo, ni debe tenerlo en el código.
en este caso sé que si defino el puntero en cada iteración es como si me borrara todo pero ese no es el objetivo, debido a que si el usuario desea ingresar una palabra que ya está en el arreglo, la aplicación no se lo debe permitir. Gracias