Exemple #1
0
void eliminar(struct nodo ** raiz, int clave){
	if(*raiz == NULL)
		printf("La clave no esta");
	else
		if(clave < (*raiz)->dato)
			eliminar(&(*raiz)->izquierdo,clave);
		else
			if(clave > (*raiz)->dato)
				eliminar(&(*raiz)->derecho,clave);
			else{
				struct nodo * auxiliar;
				auxiliar = (*raiz);
				if(auxiliar->izquierdo == NULL)
					(*raiz) = auxiliar->derecho;
				else
					if(auxiliar->derecho == NULL)
						(*raiz) = auxiliar->izquierdo;
					else{
						struct nodo * a, * p;
						p = auxiliar;
						a = auxiliar->izquierdo;
						while(a->derecho){
							p = a;
							a = a->derecho;
						}
						auxiliar->dato = a->dato;
						if(p == auxiliar)
							p->izquierdo = a->izquierdo;
						else
							p->derecho = a->izquierdo;
						auxiliar = a;
					}
					free(auxiliar);
			}
}
Exemple #2
0
void eliminar(ARBOL *A,int n)
{	if(*A==NULL)
                return;
        if(n<(*A)->dato)
                eliminar(&((*A)->izq),n);
        else if(n>(*A)->dato)
                eliminar(&((*A)->der),n);
        else
        {       if((*A)->izq==NULL && (*A)->der==NULL)
                {       free(*A);
                        *A=NULL;
                }
                else if((*A)->izq==NULL)
                {       ARBOL aux=*A;
                        *A=(*A)->der;
                        free(aux);
                }
                else if((*A)->der==NULL)
                {       ARBOL aux=*A;
                        *A=(*A)->izq;
                        free(aux);
                }
                else
                {       (*A)->dato=mayor((*A)->izq);
                        eliminar(&((*A)->izq),(*A)->dato);
                }
        }       
}	
Exemple #3
0
int main()
{
	int x;
	ptrCola inicio = NULL;
	ptrCola fin    = NULL;

	insertar(&inicio,&fin,1);
	x = eliminar(&inicio,&fin);
	printf("%d\n",x );
	insertar(&inicio,&fin,2);
	x = eliminar(&inicio,&fin);
	printf("%d\n",x );
	x = eliminar(&inicio,&fin);
	return 0;
}
Exemple #4
0
QMAutos::QMAutos(Empresa *empresa,QWidget *parent) :
    QMantenimiento(empresa,parent)
{
    this->setWindowTitle( QString(NAME) + " - Mantenimiento Autos");
    this->actualizar();
    connect(&button,SIGNAL(clicked()),this,SLOT(eliminar()));
}
Exemple #5
0
     main (){ 
        int opc;
        do{
         printf ("\n\n\n");
         printf ("1. METER EN LA COLA\n\n");
         printf ("2. SACAR DE LA COLA\n\n");
         printf ("3. VER COLA\n\n");
         printf ("4. SALIR\n");
         printf ("\n $$$$$$$$$$$$$$$$$$$$$$$$$$$$ \n");
         printf ("  Escoja una opcion \n");
         scanf("%d", &opc);
         printf("\n\n");
         switch (opc){
          case 1 : insertar();
           break;
          case 2: eliminar();
           break;
          case 3: ver();
           break;
          case 4:
                return;
           break;       
           }             
         } while (opc != 4);

}
void menuEliminar (void){
	int op;
	while(1){
		printf("1-Eliminar pelicula\n");
		printf("2-Eliminar persona\n");
		printf("3-Eliminar personaje\n");
		printf("4-Eliminar relacion\n");
		printf("5-Eliminar genero\n");
		printf("6-Eliminar todas las relaciones de una pelicula\n");
		printf("7-Eliminar todos los generos de una pelicula\n");
		printf("0-Volver\n\nOpcion: ");
		scanf("%d",&op);
		system("clear");
		switch (op){
			case 1: 
			case 2: 
			case 3: eliminar(op); break;
			case 4: eliminarRelacion(); break;
			case 5: eliminarGenero(); break;
			case 6: eliminarRelacionesPelicula(); break;
			case 7: eliminarGenerosPelicula(); break;
			case 0: return ; break;
		}
	}
}
int
main()
{
int minutos[CANT];
int h, m;
int a, b;
int nuevo[CANT];
int tam;
clrscr();
cargar(minutos, CANT, TOPE);
printf("Vector original:\n");
mostrar(minutos, CANT);
ordenar(minutos, CANT);
printf("Vector ordenado:\n");
mostrar(minutos, CANT);
pasarHM(minutos[0], &h, &m);
printf("\n%d equivale a %d:%d", minutos[0], h, m);
extremos(minutos, CANT, &a, &b, 3*60, 4*60);
printf("\nInteresan las posiciones %d - %d", a, b);
tam = eliminar(minutos, CANT, a, b, nuevo);
if (tam > 0)
{
	printf("Vector original con menos elementos:\n");
	mostrar(minutos, CANT-tam);
	printf("Vector nuevo:\n");
	mostrar(nuevo, tam);
}else
	printf("\nNo pudo eliminarse nada");
getch();
return EXIT_SUCCESS;
}
Exemple #8
0
Fichier : 48.c Projet : leolas95/c
int main(void)
{
	HashTable htbl[MAXREGS];
	init(htbl);

	int i = 0;
	for (; i < MAXREGS; i++)
		insertar(htbl, palabras[i]);

	mostrar(htbl);

	if (buscar(htbl, "Guitarra") > -1)
		printf("Guitarra encontrado\n");
	else
		printf("Guitarra no encontrado\n");

	if (buscar(htbl, "Mecanica") > -1)
		printf("Mecanica encontrado\n");
	else
		printf("Mecanica no encontrado\n");

	if (eliminar(htbl, "Teclado") > -1)
		printf("Teclado eliminado\n");
	else
		printf("Teclado no eliminado\n");


	mostrar(htbl);
	return 0;

}
resultadoOperacion ArbolBMasNumerico::eliminarNumerico(unsigned int clave) {
	stringstream buffer(stringstream::in | stringstream::out);
	buffer << clave;
	string claveAlfabetica;
	buffer >> claveAlfabetica;
	return eliminar(claveAlfabetica);
}
Exemple #10
0
int
eliminarWrapper(tJuego * juego)
{
	int x, y, argumentos = 0, estado, azulejosEliminados;
	tPunto punto;
	
	argumentos = scanf("%d, %d", &x, &y);
	
	if (argumentos == 2) /* TODO: fix validacion */
	{
		estado = validarPunto(x, y, juego);

		switch (estado)
		{
			case PUNTO_VALIDO:
				punto.x = x;
				punto.y = y;
				azulejosEliminados = eliminar(juego->tablero[y][x], punto, juego);
				break;
			case PUNTO_VACIO:
				printf("El punto (%d, %d) esta vacio\n", x, y);
				break;
			case FUERA_RANGO:
				printf("El punto (%d, %d) no esta dentro del tablero\n",  x, y);
				break;
		}
	}
	
	return azulejosEliminados;
}
Exemple #11
0
FormPrefEmail::FormPrefEmail(QWidget* parent, Qt::WFlags fl)
: EVentana( parent, fl ), Ui::FormPrefEmailBase()
{
        setupUi(this);
        servidores = new EServidorEmail( LVServidores );

        LVServidores->setModel( servidores );
        LVServidores->setModelColumn( servidores->fieldIndex( "nombre" ) );

        mapeador = new QDataWidgetMapper( this );
        mapeador->setModel( servidores );
        mapeador->addMapping( LENombre, servidores->fieldIndex( "nombre" ) );
        mapeador->addMapping( LEDireccion, servidores->fieldIndex( "direccion" ) );
        mapeador->addMapping( SBPuerto, servidores->fieldIndex( "puerto" ) );
        mapeador->addMapping( LEUsuario, servidores->fieldIndex( "usuario" ) );
        mapeador->addMapping( LEPass, servidores->fieldIndex( "pass" ) );
        mapeador->addMapping( CkBPredeterminado, servidores->fieldIndex( "predeterminado" ) );
        mapeador->addMapping( LEFrom, servidores->fieldIndex( "de" ) );
        mapeador->setSubmitPolicy( QDataWidgetMapper::ManualSubmit );

        connect(LVServidores->selectionModel(), SIGNAL(currentRowChanged(QModelIndex,QModelIndex)),
             mapeador, SLOT(setCurrentModelIndex(QModelIndex)));

        mapeador->toFirst();

        connect( PBAgregar, SIGNAL( clicked() ), this, SLOT( agregar() ) );
        connect( PBEliminar, SIGNAL( clicked() ), this, SLOT( eliminar() ) );

        PBAgregar->setIcon( QIcon( ":/imagenes/add.png" ) );
        PBEliminar->setIcon( QIcon( ":/imagenes/stop.png" ) );

        this->setWindowTitle( "Servidor Em@il" );
        this->setWindowIcon( QIcon( ":/imagenes/servidor_email.png" ) );
}
//PROGRAMA PRINCIPAL
void main()
{
//clrscr();
nodo *prin; //puntero al principio de la lista
int op;
//clrscr();
do {
	op=menu();
		switch (op)
		{
		case 1:
		        prin=(nodo *)malloc(sizeof(nodo));
		        crear(prin);
	      	        printf("\n");
		        mostrar (prin);
		        continue;
		case 2:
		        prin=insertar(prin);
		        printf("\n");
		        mostrar(prin);
		        continue;
		case 3:
		        prin=eliminar (prin);
		        printf("\n");
                                           mostrar(prin);
		        continue;
		case 4:
		        printf("\nfin de proceso");
		}

	  }while (op !=4);

}
Exemple #13
0
int main()
{

    struct node * head =list (7);
    struct node * head2 =list (4);
    print(head);
    printf("\n");
    head=insertb(0,head);
    print(head);
    printf("\n");
    head=eliminar(0,head);
    print(head);
    printf("\n");
    head=inserto(head,8);
    print(head);
    printf("\n");
    head=insertm(15,head);
    print(head);
    printf("\n");

    concatenar(head,head2);
    print(head);


    return 0;
}
Exemple #14
0
int eliminarPpalYAux(Lista * listaPpal,Lista * listaAux, char * nombre){
  Elemento * elem, * aux, *ppal;
  Lista * del;
  int elimino = 0;

  if(listaPpal->tam == 0)
    return -1;

  elem = listaPpal->ini;
  while(elem!=NULL){ // conseguir el nombre en la lista ppal
    if(strcmp(elem->nombre,nombre)==0){ //nombre ppal encontrado
      ppal = elem;

      if (elem->lista !=NULL && elem->lista->ini!=NULL){
        del = elem->lista;

        elem = elem->lista->ini; // ini de la lista auxiliar para nombre ppal
        
        aux = listaAux->ini; // ini de listaAux
        while(elem!=NULL){
          while(aux!=NULL){
            if (strcmp(elem->nombre,aux->nombre)==0){
              elimino = elimino + eliminar(aux->lista, nombre);
              elem = elem->sig;
              aux = listaAux->ini;
              break;
            }
            else{
              aux = aux->sig;
            }
          }
        }
        if(del!=NULL)
          borrar(del);
        ppal->lista = NULL;
        eliminar(listaPpal,ppal->nombre);
        return elimino;
      }
      return eliminar(listaPpal,ppal->nombre);
    }
    else{ // nombre ppal no encontrado
      elem = elem->sig;
    }
  }
  return -1;
}
Exemple #15
0
Fichier : 36.c Projet : leolas95/c
int main(void)
{
	char s[30] = "hola como estas como";
	char s2[30] = "hola";

	eliminar(s, s2);
	puts(s);
	return 1;
}
Exemple #16
0
int main(){
    int opcion, bcodigo, ecodigo;
    nodoArbol producto;
    nodoArbol* busqueda;
    nodoArbol * eliminacion;
    
    
    do{
        printf ("\n");
        printf ("**********************************************\n");
        printf ("*               Abarrotera                   *");
        printf ("\n*   Bienvenido al sistema de venta           *");
        printf ("\n*        de la abarrotera, que desea hacer:  *");
        printf ("\n*                                            *");
        printf ("\n*        1. Introducir Producto nuevo        *");
        printf ("\n*        2. Busqueda de Productos            *");
        printf ("\n*        3. Eliminar productos del catalogo  *");
        printf ("\n*        4. Salir                            *");
        printf ("\n**********************************************");
        printf ("\n");
        printf("\n\nIntroducir opcion\t");
        scanf("%d", & opcion);
        
        if(opcion==1){
            producto = datos();
            insertar(producto);
        }
        
        if(opcion==2){
            printf("Introducir valor a buscar");
            scanf("%d", & bcodigo);
            busqueda= buscar(bcodigo);
            printf("%d, %d, %s\n", busqueda->codigo, busqueda->stock, busqueda->nombre);
        }
        if(opcion==3){
            printf("Introducir codigo de producto que se desea eliminar");
            scanf("%d", & ecodigo);
            eliminacion = eliminar(ecodigo);
            if(eliminacion == NULL)
                printf("No existe el codigo ingresado");
            else{
                printf("\nEl porducto a eliminar es:");
                printf("%d", eliminacion->codigo);
                printf("%s", eliminacion->nombre);
                printf("%d", eliminacion->stock);
                
                if(eliminacion == raiz) raiz = NULL;
                free(eliminacion);
                
            }
            
        }
    }while(opcion !=4);
    return 0;
}
Exemple #17
0
EVLista::EVLista( QWidget *parent, QObject *child, Qt::WFlags fl )
: EVentana( parent, fl )
{
 QGridLayout *layout = new QGridLayout( this );
 vista = new QTableView(this);
 vista->setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding );
 layout->addWidget( vista );
 this->setLayout( layout );

 // Propiedades varias
 vista->setSelectionMode( QAbstractItemView::SingleSelection );
 vista->horizontalHeader()->setResizeMode( QHeaderView::Stretch );
 vista->setTextElideMode( Qt::ElideRight );

 //////////////////////////////////////////////////////////////////////////////////////////
 // Acciones Genericas
 ////////////////////////////////////////////////////////////////////////////////////////
 ActAgregar = new QAction( "&Agregar", this );
 ActAgregar->setIcon( QIcon( ":/imagenes/add.png" ) );
 ActAgregar->setShortcut( QKeySequence( "Ctrl+a" ) );
 ActAgregar->setToolTip( "Agregar un nuevo item ( Ctrl + a )" );
 connect( ActAgregar, SIGNAL( triggered() ), child, SLOT( agregar() ) );

 ActModificar = new QAction( "&Modificar", this );
 ActModificar->setIcon( QIcon( ":/imagenes/editar.png" ) );
 ActModificar->setShortcut( QKeySequence( "Ctrl+m" ) );
 ActModificar->setToolTip( "Modifica el item actual ( Ctrl + m )" );
 connect( ActModificar, SIGNAL( triggered() ), child, SLOT( modificar() ) );

 ActImprimir = new QAction( "&Imprimir", this );
 ActImprimir->setIcon( QIcon( ":/imagenes/impresora.png" ) );
 ActImprimir->setToolTip( "Imprime el/los items seleccionados ( Ctrl + i )" );
 ActImprimir->setShortcut( QKeySequence( "Ctrl+i" ) );
 connect( ActImprimir, SIGNAL( triggered() ), child, SLOT( imprimir() ) );

 ActEliminar = new QAction( "&Eliminar", this );
 ActEliminar->setIcon( QIcon( ":/imagenes/eliminar.png" ) );
 ActEliminar->setShortcut( QKeySequence( "Ctrl+e" ) );
 ActEliminar->setToolTip( "Eliminar el o los items seleccionados ( Ctrl + e )" );
 connect( ActEliminar, SIGNAL( triggered() ), child, SLOT( eliminar()  ) );

 ActBuscar = new QAction( "&Buscar", this );
 ActBuscar->setIcon( QIcon( ":/imagenes/buscar.png" ) );
 ActBuscar->setShortcut( QKeySequence( "Ctrl+b" ) );
 ActBuscar->setToolTip( "Buscar items ( Ctrl + b )" );
 connect( ActBuscar, SIGNAL( triggered() ), child, SLOT( buscar() ) );

 ActCerrar = new QAction( "Cer&rar", this );
 ActCerrar->setIcon( QIcon( ":/imagenes/fileclose.png" ) );
 ActCerrar->setShortcut( QKeySequence( "Ctrl+r" ) );
 ActCerrar->setToolTip( "Cierra esta ventana ( Ctrl + r )" );
 connect( ActCerrar, SIGNAL( triggered() ), child, SLOT( cerrar() ) );

}
int main()
{
    nodo *prin;
    prin=malloc(sizeof(nodo));
    crear((nodo*)prin);
    mostrar(prin);
    prin=eliminar((nodo*)prin);
    mostrar(prin);

    return EXIT_SUCCESS;
}
bool eliminar (tListaCorreos &correos, const string &idMail) {
	bool eliminado = false;
	bool encontrado;
	int pos;

	encontrado = buscar(correos, idMail, pos);

	if (encontrado) 
		eliminado = eliminar(correos, pos);

	return eliminado;
}
Exemple #20
0
bool Arreglo::mover(int from, int to)
{
    Empleado *temp=recuperar(from);

    if(temp!=NULL)
    {
        if(eliminar(from))
          if(insertar(to,temp))
             return true;
    }

    return false;
}
int main()
{
nodo *prin;
int op;
prin=(nodo *)malloc(sizeof(nodo));
crear(prin);
mostrar (prin);
prin=insertar(prin);
mostrar(prin);
prin=eliminar (prin);
mostrar(prin);
return 0;
}
void Arbol::actualizar(int valor, int viejo)
{
    if(!raiz)
        return;

    Arbol* tempo = buscar(valor,raiz);

    if(tempo)
        return;

    eliminar(viejo);
    insertar(valor,raiz);
}
Exemple #23
0
bool Lista::mover(int from, int to)
{
    Nodo *temp=recuperar(from);

    if(temp!=NULL)
    {
        if(eliminar(from))
          if(insertar(to,temp))
             return true;
    }

    return false;
}
DialogVarConfig::DialogVarConfig(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::DialogVarConfig)
{
    ui->setupUi(this);
    setWindowTitle("Editor de Parametros");
    cargarDatos();
    connect(ui->btnAnhadir,SIGNAL(clicked()),this,SLOT(nuevoscript()));
    connect(ui->seleccionScript,SIGNAL(currentIndexChanged(int)),this,SLOT(cambiarscript(int)));
    connect(ui->btnBox,SIGNAL(accepted()),this,SLOT(guardar()));
    connect(ui->btnEliminar,SIGNAL(clicked()),this,SLOT(eliminar()));
    estado = 0;
    index = 0;
}
void eliminar(enlace *l, int e)
{
	enlace p;
	if(*l != NULL){
		if((*l)->dato == e){
			p = *l;
			*l = p->link;
			free(p);
		}
		else{
			eliminar(&(*l)->link, e);
		}
	}
}
Exemple #26
0
int menu_clientes() 
		
        
        {
        int op;
        int n;
	       clientes cli[NR];
	       for(n=0;n<NR;n++)
		   cli[n].estado=0;   /* limpa todo o Array de registos */
        system ("cls"); gotoxy(20,5);
        ler(cli);
        do {
        
		system ("cls");						        
		printf("\n\t|============================================|"); system("COLOR 0B"); /* fundo preto caracteres azul */
    	printf("\n\t|              C E M  R O D A S              |");
    	printf("\n\t|                                            |");
	   	printf("\n\t|                                            |");
    	printf("\n\t|               C L I E N T E S              |");
    	printf("\n\t|                                            |");
    	printf("\n\t|============================================|");
        printf("\n\t*                                            *"); 
        printf("\n\t*               1 - Inserir                  *");
        printf("\n\t*                                            *"); 
        printf("\n\t*               2 - Alterar                  *");
		printf("\n\t*                                            *"); 
        printf("\n\t*               3 - Eliminar                 *");
        printf("\n\t*                                            *");
        printf("\n\t*               4 - Listar Clientes          *");
        printf("\n\t*                                            *");
        printf("\n\t*               0 - Menu Principal           *");
		printf("\n\t*                                            *");
        printf("\n\t**********************************************");
        printf("\n\n\t             Qual a sua opcao? ");
				
				scanf("%d",&op);
               int n;
					switch (op) {
                        case 1: inserir_cliente(cli); break;
                        case 2: alterar(cli); break;
                        case 3: eliminar(cli); break;
						case 4: mostrar(cli); break;
                        case 0:
							gravar_clientes(cli); 
							system ("cls"); break;
                        default: printf("Opcao invalida!\n");
                }
        } while (op!=0);return (0);
}
int main()
{
    nodo *prin;
    prin = (nodo*)malloc(sizeof(nodo));
    crear(prin);
    mostrar(prin);
    int m;
    printf("Ingrese elemento M: ");
    scanf("%d", &m);
    eliminar(prin, m);
    mostrar(prin);
    prin = eliminarMenores(prin, m);
    mostrar(prin);
    return 0;
}
Exemple #28
0
VCategorias::VCategorias( QWidget *parent )
: EVLista( parent )
{
 setObjectName( "ListaCategorias" );
 setWindowTitle( "Categorias" );
 setWindowIcon( QIcon( ":/imagenes/categorias.png" ) );

 modelo = new MCategorias( this );
 vista->setModel( modelo );
 modelo->select();

 vista->hideColumn( 0 );
 vista->resizeColumnsToContents();
 vista->setAlternatingRowColors( true );
 vista->setItemDelegate( new DCategoria( vista ) );
 vista->setSelectionBehavior( QAbstractItemView::SelectRows );

 ActEliminar->disconnect( SIGNAL( triggered() ), this, SLOT( eliminar() ) );
 ActEliminar->connect( ActEliminar, SIGNAL( triggered() ), this, SLOT( eliminar() ) );

 addAction( ActAgregar );
 addAction( ActEliminar );
 addAction( ActCerrar );
}
int main()
{
    nodo *lista1;
    nodo *lista2;

    lista1 = (nodo*)malloc(sizeof(nodo*));
    lista2 = (nodo*)malloc(sizeof(nodo*));

    cargar(lista1);
    mostrar(lista1);
    //creo segunda lista
    prom(lista1, lista2);
    printf("\nMostrando lista b");
    mostrar(lista2);
    lista1 = eliminar(lista1);
    mostrar(lista1);
    return 0;
}
main()
{
  int i;
  enlace l;
  l=NULL;

  insertar(&l, 1);
  insertar(&l, 2);
  insertar(&l, 4);
  insertar(&l, 3);
  
  i = buscar(l, 3);
    
  printf("Esta el 3? : %d\n",i);
    
  printf("IMPRIME\n");
  listar(l);

  eliminar(&l, 4);
    
  printf("IMPRIME\n");
  listar(l);
    
}