Advertisement
FHRL

prótesis biónica 0.0.1

Jun 2nd, 2022 (edited)
762
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.09 KB | Source Code | 0 0
  1. /*Created by Móvil C.
  2.  *project: ""prótesis biónica"" // main
  3.  *Date:02-06-2022
  4.  *Time: 20:45
  5.  *Verton:0.0.1
  6.  */
  7. #include<stdlib.h>
  8. #include<string.h>
  9. #include<sstream>//sstream
  10. using namespace std;
  11. template <typename T>
  12. typedef struct nodo{//has lo correcto.
  13.     #define TAMANIO_STRUCT_NODO sizeof(nodo)/2
  14.     #define TAMANIO_T sizeof(T)/2
  15.     nodo*anterior[TAMANIO_STRUCT_NODO]={this,nullptr},
  16.         *siguiente[TAMANIO_STRUCT_NODO]={this,nullptr},
  17.         *ortogonalAnterior[TAMANIO_STRUCT_NODO]={this,nullptr},
  18.         *ortogonalSiguiente[TAMANIO_STRUCT_NODO]={this,nullptr};//new nodo[4];
  19.     T*dato[TAMANIO_T]={nullptr};//arreglo de punteros
  20.     nodo():nodo(nullptr){};
  21.     nodo(T*datoOriginal):dato({datoOriginal,nullptr}){
  22.         anterior=siguiente=ortogonalAnterior=ortogonalSiguiente={this,nullptr};
  23.     };
  24.     nodo(T*listaOriginal[]):dato({nullptr,nullptr}){//experimental
  25.         if(listaOriginal){
  26.             stringstream ss;
  27.             T lista[]={nullptr},*auxiliar[]={nullptr};
  28.             for(int i=0;listaOriginal[i];i++,ss.clear()){
  29.                 ss<<listaOriginal,
  30.                 ss>>lista;
  31.                 for(int j=0;lista[j];j++){
  32.                     (*auxiliar)[j]=new T(lista[j]);
  33.                 }
  34.             }
  35.         }
  36.         //{0xejemplo ,new T()->{T0,basura},...,nullptr,basura},{nullptr,basura},
  37.         //{new T()->{T0,basura},basutra} o
  38.         //{new T[x]->{T1,T2,...Tn,basura},basura},{nullptr,basura},{0xejemplo,basura}
  39.         if(listaOriginal){//0xff->
  40.             if(*listaOriginal){//puntero a un arreglo *original is == original[0];
  41.                 stringstream ss;
  42.                 T lista[]={nullptr};
  43.                 for(int i=0;listaOriginal[i];i++,ss.clear()){
  44.                     ss<<listaOriginal[i];
  45.                     cout<<listaOriginal[i];
  46.                     ss>>lista;
  47.                     cout<<lista;
  48.                 }
  49.             }else{
  50.             }
  51.             if(listaOriginal[0]){//arreglo de punteros
  52.             }else{
  53.             }
  54.         }else{//do nothing;
  55.         }
  56.     };
  57.    
  58.     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
  59.         if(cantidadElementosArreglo>1){
  60.            
  61.         }else if(cantidadElementosArreglo){
  62.            
  63.         }else{/*echo*/}
  64.     };
  65.    
  66.     nodo(unsigned long int x,unsigned long int y,T*lista[]);
  67.     nodo(unsigned long int tamanio,unsigned long int*tamanioDevectores[],T*lista[]);
  68.    
  69.     nodo(nodo*raizAntigua):dato({raizAntigua->dato,nullptr}),anterior(raizAntigua->anterior),siguiente(raizAntigua->siguiente),ortogonalAnterior(raizAntigua->ortogonalAnterior),ortogonalSiguiente(raizAntigua->ortogonalSiguiente){};
  70. private:
  71.     nodo(T*listaDeDatos[],unsigned long int tamanioDelArreglo):dato({listaDeDatos[tamanioDelArreglo/2],nullptr}){
  72.         if(1<tamanioDelArreglo){
  73.             if(2<tamanioDelArreglo){
  74.                 siguiente[0]=new nodo(listaDeDatos[(tamanioDelArreglo/2)],(tamanioDelArreglo/2));
  75.             }
  76.             anterior[0]=new nodo(listaDeDatos[0],(tamanioDelArreglo/2));
  77.         }else if(tamanioDelArreglo){
  78.             anterior[0]=new nodo(&listaDeDatos[(tamanioDelArreglo/2)]);
  79.         }else{}
  80.     };
  81.     ~nodo(){}  
  82. };
  83. int main(int argc,char*argv[]){///number, *location[]
  84.     cout<<argc<<endl;
  85.     cout<<argv<<endl;
  86.     if(argc){
  87.         cout<<"*"<<(*argv)<<endl
  88.             <<(*argv)[9/2]<<"["<<9/2<<"]"<<endl;//4
  89.         cout<<"0'"<<argv[0]<<"'"<<endl;
  90.         cout<<"1'"<<argv[1]<<"'"<<endl;
  91.         if(argv[2]){cout<<"2'"<<argv[2]<<"'"<<endl;//trow obiusly.
  92.         }else{
  93.             cout<<"2'"<<"is nullptr"<<endl;
  94.         }//static_cast<char>(new char[])
  95.         // axess string => sstream => *type[];
  96.         //argv[2]=*xyz;//new char('c');
  97.         argv[2]=new char('ops!');//,//new char('/0')};
  98.         //cin>>(argv[2]);
  99.         //*(argv[2])=;
  100.         cout<<"2'"<<argv[2]<<"'"<<endl;
  101.         argv[3]=nullptr;
  102.        
  103.         if(argv[3]){cout<<"3'"<<argv[3]<<"'"<<endl;//trow obiusly.?
  104.         }else{
  105.             cout<<"3'"<<"is nullptr"<<endl;
  106.         }
  107.         //argv[3]=new char('d');
  108.         //cout<<"2'"<<argv[4]<<"'"<<endl;
  109.        
  110.         return main(0,argv);
  111.     }
  112.     return 0;
  113. }
  114. /*arguments.
  115. > main.cpp 2ws
  116. 2
  117. * /storage/emulated/0/Documents/not suport media./proyecto de junio./main.cpp.bc
  118. /[0]
  119. 1
  120. * /storage/emulated/0/Documents/not suport media./proyecto de junio./main.cpp.bc
  121. /[0]
  122. 0
  123. */
  124. /*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.*/
  125.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement