Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Created by Móvil C.
- *project: ""prótesis biónica"" // main
- *User:[email protected]
- *Date:03-06-2022
- *Time: 22:45
- *Verton:0.0.2
- */
- #include<stdlib.h>
- #include<string.h>
- #include<sstream>//sstream
- using namespace std;
- template <typename T>
- typedef struct nodo{//has lo correcto.
- #define TAMANIO_STRUCT_NODO sizeof(nodo)/2
- #define TAMANIO_T sizeof(T)/2
- nodo*anterior[TAMANIO_STRUCT_NODO]={this,nullptr},
- *siguiente[TAMANIO_STRUCT_NODO]={this,nullptr},
- *ortogonalAnterior[TAMANIO_STRUCT_NODO]={this,nullptr},
- *ortogonalSiguiente[TAMANIO_STRUCT_NODO]={this,nullptr};//new nodo[4];
- T*dato[TAMANIO_T]={nullptr};//arreglo de punteros
- unsigned long int tamanioInterno=0;//Bug de tamanios?,reviza aqui' o en el arreglo.
- nodo():dato({nullptr}),tamanioInterno(0){
- anterior=siguiente=ortogonalAnterior=ortogonalSiguiente={this,nullptr};
- };
- nodo(T*datoOriginal):dato({datoOriginal,nullptr}),tamanioInterno(0),ortogonalAnterior({this,nullptr}),ortogonalSiguiente({this,nullptr}){//basura.set(nullptr);
- if(datoOriginal){
- for(;datoOriginal[tamanioInterno];tamanioInterno++);//noRecursivo.
- if(1<tamanioInterno){
- if(2<tamanioInterno){//3;
- anterior={new nodo(&datoOriginal[tamanioInterno/2],tamanioInterno/2),nullptr},
- siguiente={new nodo(datoOriginal,tamanioInterno/2),nullptr};
- }else anterior={new nodo(&datoOriginal[1],1),nullptr},//2;
- siguiente={this,nullptr};
- }else anterior=siguiente={this,nullptr};//0 y 1;
- }else anterior=siguiente={this,nullptr};//nullptr->
- };
- nodo(T*datoOriginal,unsigned long int tamanio):dato(datoOriginal[tamanio/2],nullptr),tamanioInterno(tamanio){
- if(tamanioInterno){
- for(tamanio=0;datoOriginal[tamanio];tamanio++){
- ////
- }
- ////
- }else{////
- }
- anterior=siguiente=ortogonalAnterior=ortogonalSiguiente={this,nullptr};
- }
- //nodo()
- nodo(T*listaOriginal[]):dato({nullptr,nullptr}){
- if(listaOriginal){
- int x;
- for(x=0;listaOriginal[x];x++);
- int *k=new int[x];
- /*int x;// *k=new int[8];
- for(x=0;listaOriginal[x];x++){
- for(int y=0;listaOriginal[x][y];y++){
- listaOriginal[x][y];
- }
- }int *k=new int[x];*/
- }else{}
- /*experimental
- if(listaOriginal){
- stringstream ss;
- T lista[]={nullptr},*auxiliar[]={nullptr};
- for(int i=0;listaOriginal[i];i++,ss.clear()){
- ss<<listaOriginal,
- ss>>lista;
- cout<<ss.rdbuf()<<"rd bufer";
- for(int j=0;lista[j];j++){
- (*auxiliar)[j]=new T(lista[j]);
- }
- }
- }*/
- //{0xejemplo ,new T()->{T0,basura},...,nullptr,basura},{nullptr,basura},
- //{new T()->{T0,basura},basutra} o
- //{new T[x]->{T1,T2,...Tn,basura},basura},{nullptr,basura},{0xejemplo,basura}
- if(listaOriginal){//0xff->
- if(*listaOriginal){//puntero a un arreglo *original is == original[0];
- stringstream ss;
- T lista[]={nullptr};
- for(int i=0;listaOriginal[i];i++,ss.clear()){
- ss<<listaOriginal[i];
- cout<<listaOriginal[i];
- ss>>lista;
- cout<<lista;
- }
- }else{
- }
- if(listaOriginal[0]){//arreglo de punteros
- }else{
- }
- }else{//do nothing;
- }
- };
- nodo(unsigned long int cantidadElementosArreglo,T*listaOriginal[]):dato({listaOriginal[cantidadElementosArreglo/2],nullptr}){//{7/2=3},{5/2=2},{3/2=1},{1/2=0};x[-1],i=0|x[0],i=1
- if(cantidadElementosArreglo>1){
- }else if(cantidadElementosArreglo){
- }else{/*echo*/}
- };
- nodo(unsigned long int x,unsigned long int y,T*lista[]);
- nodo(unsigned long int tamanio,unsigned long int*tamanioDevectores[],T*lista[]);
- nodo(nodo*raizAntigua):dato({raizAntigua->dato,nullptr}),anterior(raizAntigua->anterior),siguiente(raizAntigua->siguiente),ortogonalAnterior(raizAntigua->ortogonalAnterior),ortogonalSiguiente(raizAntigua->ortogonalSiguiente){};
- private:
- nodo(T*listaDeDatos[],unsigned long int tamanioDelArreglo):dato({listaDeDatos[tamanioDelArreglo/2],nullptr}){
- if(1<tamanioDelArreglo){
- if(2<tamanioDelArreglo){
- siguiente[0]=new nodo(listaDeDatos[(tamanioDelArreglo/2)],(tamanioDelArreglo/2));
- }
- anterior[0]=new nodo(listaDeDatos[0],(tamanioDelArreglo/2));
- }else if(tamanioDelArreglo){
- anterior[0]=new nodo(&listaDeDatos[(tamanioDelArreglo/2)]);
- }else{}
- };
- ~nodo(){}
- };
- int main(int argc,char*argv[]){///number, *location[]
- stringstream zz;
- cout<<argc<<endl;
- cout<<argv<<endl;
- if(argc){
- cout<<"*"<<(*argv)<<endl
- <<(*argv)[9/2]<<"["<<9/2<<"]"<<endl;//4
- cout<<"0'"<<argv[0]<<"'"<<endl;
- cout<<"1'"<<argv[1]<<"'"<<endl;
- if(argv[2]){cout<<"2'"<<argv[2]<<"'"<<endl;//trow obiusly.
- }else{
- cout<<"2'"<<"is nullptr"<<endl;
- }//static_cast<char>(new char[])
- // axess string => sstream => *type[];
- //argv[2]=*xyz;//new char('c');
- argv[2]=new char('ops!');//,//new char('/0')};
- //cin>>(argv[2]);
- //*(argv[2])=;
- zz<<"aqio";
- zz>>argv[2];
- argv[2]="tfhyy";
- cout<<argv[2][2];
- cout<<"2'"<<argv[2]<<"'"<<endl;
- argv[3]=nullptr;
- argv[4]=nullptr;
- //char*ijk=new char[5];
- //ijk="rghujb";
- if(argv[3]){cout<<"3'"<<argv[3]<<"'"<<endl;//trow obiusly.?
- }else{
- cout<<"3'"<<"is nullptr"<<endl;
- }
- //argv[3]=new char('d');
- //cout<<"2'"<<argv[4]<<"'"<<endl;
- return main(0,argv);
- }
- return 0;
- }
- /*arguments.
- > main.cpp 2ws
- 2
- * /storage/emulated/0/Documents/not suport media./proyecto de junio./main.cpp.bc
- /[0]
- 1
- * /storage/emulated/0/Documents/not suport media./proyecto de junio./main.cpp.bc
- /[0]
- 0
- */
- /*argc será el número de cadenas apuntadas por argv. Esto será (en la práctica) 1 más el número de argumentos, ya que prácticamente todas las implementaciones antepondrán el nombre del programa a la matriz.*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement