/*Calcula la potencia de los motores*/
float CalcularMotores(float velomax, float combu){
	float resultado = 0;
	float a = velomax;
	float b = combu;
	resultado = resta(a, b);
	float obtener = dividir(resultado, b);
	return obtener;
}
/*calcula la fuerza del motor atravez de la potencia y velocidad*/
float CalcularFuerzaMotor(float poten, float velo){
	float resultado = 0;
	float a = poten, b = velo;
	resultado = multiplicar(a, b);
	b = rand() % 9 + 1;
	float obtener = dividir(resultado, b);
	return obtener;
}
/*Calcula la presion en gravedad cero*/
float calcularPresion(float presArri, float presAba){
	float resultado = 0;
	float a1 = 2;
	float a = presArri, b = presAba;
	resultado = suma(a, b);
	float resultado2 = dividir(resultado, a1);
	return resultado2;
}
void quicksort (int *inteiros, int esq, int dir) // esta função ordena um vetor de inteiros em ordem crescente
{
    if(esq<dir){ //esta parte checa se as posição recebidas como argumento fazem sentido
    int pos = rand() % (dir - esq + 1) + esq;
    troca(inteiros, pos, esq);
    int pos_pivo = dividir(inteiros,esq,dir);
    quicksort(inteiros,esq,pos_pivo -1); // recursão da função quicksort
    quicksort(inteiros,pos_pivo +1,dir);}
}
/*Calcula el angulo de la nariz atra vez de la presion de arriba y abajo*/
float MantenerEstable(float arriba, float abajo){
	float resultado = 0;
	float a = arriba;
	float b = abajo;
	float tiempo = 7;
	resultado = dividir(a, b);
	float contrapeso = multiplicar(tiempo, multiplicar(resultado, tiempo));
	return contrapeso;
}
int main() {

    int n;
    char x[]="\033[1;37m.\033[1;32m", O[]="▓"; // ▆ ▇ ▉ ⬣ ◼ ▉

    printf("Alfombra de Sierpinski \n");

    printf("ingrese el nivel (minimo 1, maximo 3):\n");
    scanf("%d",&n);

    printf ("\033[1J"); //BORRA LA TERMINAL
    //printf ("\033[47m"); //color de fondo blanco
    printf ("\033[1;32m");
    pintar(I,I,F,x);


    for (int k = 0; k < n; k++) {

        int i = 0;
        int ni=cn;
        while (i < ni) {

            /*printf ("\033[%d;%dH",cn,60);
            printf("%d .- primer punto %d\n",cn,puntos[i]);
            printf ("\033[%d;%dH",cn,80);
            printf("segundo punto %d\n", puntos[i+1]);*/
            dividir(puntos[i],puntos[i+1]);

            i+=1;
        }

        ni++;


        for (int i = ni; i < cn; i+=2) {
            for (int j = ni; j <= cn; j+=2) {
                pintar(puntos[i],puntos[j],puntos[j+1],O);
            }
        }

        sort(puntos);

        /*if (k==n-1){
        for (int j = 0; j <= cn; j++){
        	printf ("\033[%d;%dH",j+1,100);
        	printf("punto fulano::: %d\n", puntos[j]);;
        }
        }*/

    }

    printf ("\033[1;37m");
    printf ("\033[%d;%dH",F+2,1);

    //system("pause");
    return 0;
}
/*calcula el angulo de las alas tomando el area de la presion de abajo del avion y su velocidad maxima*/
float CalcularAngulo(float press, float max){
	float resultado;
	float a = 20;
	float valor1, valor2;
	valor1 = dividir(press, max);
	valor2 = suma(valor1, a);
	resultado = valor2;
	return resultado;
}
/*Calcula los angulos de las alas manteniendolos estables en gravedad cero*/
float CalcularAnguloEnGravedad(float preArri, float VeloMaxi){
	float valortotal = 0;
	float estable = 0;
	float minima = 2;/*el angulo estable es el promedio del 50% cuando se encuentra en gravedad cero*/
	float valor1 = preArri;
	float valor2 = VeloMaxi;
	valortotal = resta(valor1, valor2);
	estable = dividir(valortotal, minima);
	return estable;
}
Exemple #9
0
int main(int argc, char *argv[]){
	/* Comprobamos que se han pasado cuatro argumentos, si no es así finalizamos el programa e informamos del uso de éste. */
	if(argc != 4) {
		printf("Modo de Empleo: split <fichero_binario_entrada> <fichero_binario_1> <fichero_binario_2>\n");
		return 1;
	}

	/* Llamamos al método que combina los dos fichero binarios. */
	return dividir(argv[1], argv[2], argv[3]);
}
Exemple #10
0
void main (void)
{
    frac c1, c2, c;
    int opcion;

    clrscr ();
    leer (&c1);
    leer (&c2);
    do {
        printf ("0.-fin    1(+)  2(-)  3(*)   4(/)    opcion: ");
        scanf ("%d", &opcion);
        switch (opcion) {
            case 1:
                sumar (c1, c2, &c);
                escribir (c1);
                putchar ('+');
                escribir (c2);
                putchar ('=');
                simplifica (&c);
                escribir (c);
                break;
            case 2:
                restar (c1, c2, &c);
                escribir (c1);
                putchar ('-');
                escribir (c2);
                putchar ('=');
                simplifica (&c);
                escribir (c);
                break;
            case 3:
                multiplicar (c1, c2, &c);
                escribir (c1);
                putchar ('*');
                escribir (c2);
                putchar ('=');
                simplifica (&c);
                escribir (c);
                break;
            case 4:
                dividir (c1, c2, &c);
                escribir (c1);
                putchar ('/');
                escribir (c2);
                putchar ('=');
                simplifica (&c);
                escribir (c);
                break;
        }
        printf ("\n");
    } while (opcion);
    printf ("fin de programa...\n");
    getch ();
}
/*Calcula la inclinacion de nariz con la presion maxima de abajo*/
float CalculaNariz(float presion, float maxima){
	float total;
	float a1 = 6;/*tomamos el tiempo en que se esta despegando el avion*/
	float valor1;
	float valor2;
	float valor3;

	valor1 = dividir(presion, maxima);
	valor2 = multiplicar(valor1, a1);
	valor3 = suma(valor2, a1);
	total = valor3;
	return total;
}
void GaleriaImagenes::dividirYAgregar(const Imagen &imagen, int n, int m) {
    int alto = imagen.alto();
    int ancho = imagen.ancho();

    if (alto % m == 0 && ancho % n == 0) {
        vector<Imagen> dividida = dividir(imagen, n, m);

        int i = 0;
        while(i < dividida.size()) {
            this->agregarImagen(dividida[i]);
            i++;
        }
    }
}
int invert(int n)
{
	int rest,valor=0, cont2;
    if(n==0)
      return n;
     else {
	cont2= dividir(n);
	while(n%10>=0 && n!=0){
		rest= n%10;
		n=n/10;
		valor=valor+ potencia(rest, cont2);
		cont2--;
	}
    
    }
	 return valor;
 }
Exemple #14
0
void menu(){
 char op;
 clrscr();
 gotoxy(30,1); printf("Menu de Opcoes\n\n");
 gotoxy(30,5); printf("1 - Ler valores\n");
 gotoxy(30,7); printf("2 - Somar\n");
 gotoxy(30,9); printf("3 - Subtrair\n");
 gotoxy(30,11); printf("4 - Multiplicar\n");
 gotoxy(30,13); printf("5 - Dividir\n");
 gotoxy(30,15); printf("6 - Sair\n\n");
 gotoxy(30,20); printf("Digite a opcao:");
 op = getch(); /* scanf("%c,&op") */
 switch(op){
  case '1' : ler(); break;
  case '2' : somar(); break;
  case '3' : subtrair(); break;
  case '4' : multiplicar(); break;
  case '5' : dividir(); break;
  case '6' : exit(0); break;
  default : menu();}}
/*Calcula la densidad*/
float CalcularDensidad(float pres, float temp){
	if (temp == 0){ temp = 1; }
	float res;
	res = dividir(pres, temp);
	return res;
}
int main(){
	float FuerzaMotor = 0, presion, tiempTotal, velocidadV, altitud, Densidad, velocidad_despegue, temperatura, potenMotor, IncliDer, IncliIzq, TiVuelo, Combustible, VeloViento, PresArri,
		PresAba, TieDespegue, SimuGravedad, TieAterrizaje, VeloMaxima, AltitudMaxima, IncliNariz, Incli_AlaDer, Incli_AlaIzq, velocidad;
	int tiempo1 = 7;
	velocidadV = 0;
	velocidad = 0;
	presion = 0;
	Densidad = 0;
	AltitudMaxima = 15000;/*mil pies*/
	velocidad_despegue = 0;
	Combustible = 155.40;
	potenMotor = 115.67;
	VeloViento = 5;
	temperatura = 18;
	VeloMaxima = 910;
	altitud = 0;
	Incli_AlaDer = 0;
	Incli_AlaIzq = 0;
	IncliIzq = 0;
	IncliDer = 0;
	IncliNariz = 0;
	TieDespegue = 0;
	TieAterrizaje = 0;
	TiVuelo = 0;
	PresAba = 1011;
	PresArri = 1008;
	float turbolencia = 0;
	float autom = 7.2; /*Es el tiempo que tomara el piloto automatico para simular procesos y elementos mecanicos del avion*/
	float CarreraDespegue = 620;
	float apro = 200;
	float apro1 = 2;
	float caidaAl = 40;
	srand(time(NULL));
	velocidad = (rand() % 500) + 501;
	printf(" PREPARANDO DESPEGUE (BOING 747)\n\n");
	printf("VELOCIDAD DEL DESPEGUE A ALCANZAR: %.2f\n\n", velocidad);
	printf("TEMPERATURA: %.2f\n\n", temperatura);
	printf("POTENCIA DE MOTOR: %.2f\n\n", potenMotor);
	printf("INCLINACION DERECHA: %.2f\n\n", IncliDer);
	printf("INCLINACION IZQUIERDA: %.2f\n\n", IncliIzq);
	printf("PRESION ARRIBA: %.2f\n\n", PresArri);
	printf("PRESION ABAJO: %.2f\n\n", PresAba);
	printf("COMBUSTIBLE: %.2f\n\n", Combustible);
	printf("ANGULO DE INCLINACION DEL ALA DERECHA: %.2f\n\n", Incli_AlaDer);
	printf("ANGULO DE INCLINACION DEL ALA IZQUIERDA: %.2f\n\n", Incli_AlaIzq);
	printf("ANGULO DE INCLINACION DE NARIZ: %.2f\n\n", IncliNariz);
	presion = suma(PresAba, PresArri);/*sumamos la presion de arriba y la de abajo para tener la total de la zona al despegar*/
	system("pause");
	system("cls");
	while (tiempo1 >= 0){
		printf(" DESPEGANDO BOING 747\n\n");
		printf("ALTITUD: %.2f\n\n", altitud);
		altitud += 1850.20;
		printf("TEMPERATURA: %.2f\n\n", temperatura);
		temperatura = temperatura - 1.67;
		printf("DENSIDAD: %.2f\n\n", Densidad);
		Densidad = CalcularDensidad(PresArri, temperatura);
		printf("VELOCIDAD DEL DESPEGUE: %.2f\n\n", velocidad_despegue);
		if (velocidad_despegue<velocidad){ velocidad_despegue = velocidad_despegue + calcularVelocidad(Combustible, potenMotor); }
		printf("TIEMPO DEL DESPEGUE: %.2f\n\n", TieDespegue);
		TieDespegue += 2.1612;
		printf("COMBUSTIBLE: %.2f\n\n", Combustible);
		Combustible -= 4.12;
		printf("ANGULO DE INCLINACION DEL ALA DERECHA: %.2f\n\n", Incli_AlaDer);
		if (Incli_AlaDer < 60 && Incli_AlaDer < 70){ Incli_AlaDer += CalcularAngulo(PresAba, VeloMaxima); }
		printf("ANGULO DE INCLINACION DEL ALA IZQUIERDA: %.2f\n\n", Incli_AlaIzq);
		if (Incli_AlaIzq < 60 && Incli_AlaIzq < 70){ Incli_AlaIzq += CalcularAngulo(PresAba, VeloMaxima); }
		printf("INCLINACION DE NARIZ: %.2f\n\n", IncliNariz);
		if (IncliNariz < 55){ IncliNariz += CalculaNariz(presion, VeloMaxima); }
		--tiempo1;
		Sleep(2400);
		system("cls");
	}
	printf("ACERCANDOSE A GRAVEDAD CERO...\n");
	Sleep(1800);
	float flota = 5;/*flota es la medida del ala pequeña que mide las velocidades y los giros y densidad del avion*/
	float tqm = -1;
	float promedio = 50.23;
	boolean entrar = true;
	float aut = 7.2;
	while (autom >= 0){
		printf("PILOTO AUTOMATICO PROBANDO EN %.2f", aut);
		printf(" SEGUNDOS TIEMPO: %.2f\n\n", autom);
		printf("ANGULO DE INCLINACION DERECHA: %.2f\n\n", IncliDer);
		IncliDer = (resta(autom, CalcularAnguloEnGravedad(PresAba, VeloMaxima)))*(-1);
		printf("ANGULO DE INCLINACION IZQUIERDA: %.2f\n\n", IncliIzq);
		IncliIzq = (resta(autom, CalcularAnguloEnGravedad(PresAba, VeloMaxima)))*(-1);
		printf("ANGULO DE INCLINACION NARIZ: %.2f\n\n", IncliNariz);
		if (IncliNariz >= 48){ IncliNariz = MantenerEstable(PresArri, PresAba); }
		IncliNariz -= 0.91;
		printf("VELOCIDAD: %.2f\n\n", velocidad);
		velocidad += dividir(promedio, calcularvelocidadAvion(velocidad_despegue));
		printf("NIVEL DE TURBULENCIA ESTABLE: %.2f\n\n", turbolencia);
		if (entrar == true && turbolencia <= 500){ turbolencia = CalcularTurbolencia(VeloViento, velocidad); }
		if (turbolencia > 1000 || turbolencia > 500){ turbolencia = dividir(turbolencia, promedio); }/*debe mantenerse debajo de 100 el nivel sino el avion no podra soportarlo*/
		printf("COMBUSTILE: %.2f\n\n", Combustible);
		Combustible = resta(Combustible, calcularvelocidadAvion1(velocidad));
		printf("TEMPERATURA: %2.f\n\n", temperatura);
		if (temperatura < 7 && entrar == true){ temperatura = resta(temperatura, flota); }
		else{ printf("SE MANTIENE ESTABLE\n\n"); }
		printf("DENSIDAD EN GRAVEDAD CERO: %.2f\n\n", Densidad);
		Densidad = resta(multiplicar(PresArri, CalcularDensidad(PresArri, temperatura)), PresArri) / 20 * (-1);
		if (Densidad <= 30000 || entrar == true){ printf("SE MANTIENE ESTABLE ALREDEDOR DE LAS FUERZAS DEL VIENTO\n\n"); }
		else{ printf("DEBE DISMINUIR\n\n"); }
		printf("PRESION EN GRAVEDAD CERO: %.2f\n\n", presion);
		presion += calcularPresion(PresArri, PresAba) / 20;
		printf("VELOCIDAD DEL VIENTO BAJO PRESION: %.2f\n\n", VeloViento);
		VeloViento = calcularVelocidad(calcularPresion(velocidadV, presion), velocidad);
		if (entrar == false){ printf("NO SE ENCUENTRA CHOQUE DE EMPUJE.\n"); }
		if (VeloViento > 2600){ printf("SE ENCUENTRAN CHOQUES DE EMPUJE DEBE DISMINUIR.\n"); }
		printf("POTENCIA DE MOTORES: %.2f\n\n", potenMotor);
		potenMotor += CalcularMotores(VeloMaxima, Combustible);
		printf("ALTITUD MAXIMA: %.2f\n\n", altitud);
		if (altitud<AltitudMaxima){ altitud += 1821.20; }
		printf("FUERZA DE MOTOR: %.2f\n\n", FuerzaMotor);
		FuerzaMotor += dividir(dividir(CalcularFuerzaMotor(potenMotor, velocidad), promedio), apro);
		if (autom < 1 && entrar == true){
			system("cls");
			printf("SUPERADOS LOS 7 SEGUNDOS DEL PILOTO AUTOMATICO.\n");
			printf("SIMULANDO AHORA PARA LOS 12 SEGUNDOS EL PILOTO AUTOMATICO.\n");
			autom = 12.2;
			entrar = false;
			aut = 12.2;
		}
		autom = autom - 1.2;
		Sleep(2400);
		system("cls");
	}
	system("cls");
	if (entrar == false){
		printf("12 SEGUNDOS COMPLETADOS, PREPARANDO ATERRIZAJE...\n");
		printf("PILOTO AUTOMATICO SUPERADO EN GRAVEDAD CERO PARA LOS 7 Y 12 SEGUNDOS\n");
	}
	Sleep(1800);
	int aterr = 9;
	float aterr1 = 0.8;
	float aterr2 = 5.35;
	while (aterr > 0){
		printf("ATERRIZANDO.\n\n");
		printf("ANGULO DE INCLINACION DERECHA: %.2f\n\n", IncliDer);
		IncliDer = dividir((suma(aterr, CalcularAnguloEnGravedad(PresAba, VeloMaxima))),apro1);
		printf("ANGULO DE INCLINACION IZQUIERDA: %.2f\n\n", IncliIzq);
		IncliIzq = dividir((suma(aterr, CalcularAnguloEnGravedad(PresAba, VeloMaxima))), apro1);
		printf("ANGULO DE INCLINACION NARIZ DE ATAQUE: %.2f\n\n", IncliNariz);
		IncliNariz = dividir((suma(aterr, CalcularAnguloEnGravedad(PresAba, VeloMaxima))), apro1);
		IncliNariz -= 0.91;
		printf("VELOCIDAD: %.2f\n\n", velocidad);
		velocidad = velocidad - suma(multiplicar(dividir(PresAba, PresArri), potenMotor),caidaAl);/*784,36*/
		printf("COMBUSTILE: %.2f\n\n", Combustible);
		Combustible = resta(Combustible, calcularvelocidadAvion1(velocidad));
		printf("TEMPERATURA: %2.f\n\n", temperatura);
		if(temperatura < 20)temperatura += 17;
		printf("DENSIDAD DE ATAQUE: %.2f\n\n", Densidad);
		Densidad = dividir(Densidad,flota);
		printf("PRESION: %.2f\n\n", presion);
		presion = resta(presion,apro);
		printf("VELOCIDAD DEL VIENTO BAJO PRESION: %.2f\n\n", VeloViento);
		VeloViento = calcularVelocidad(calcularPresion(velocidadV, aterr), velocidad);
		printf("POTENCIA DE MOTORES: %.2f\n\n", potenMotor);
		potenMotor = CalcularMotores(VeloMaxima, Combustible)/aterr;
		printf("ALTITUD DISMINUYENDO: %.2f\n\n", altitud);
		altitud = altitud / 2;
		--aterr;
		Sleep(3000);
		system("cls");
	}

	system("pause");
	return 0;
}
Exemple #17
0
int btree::dividir(int pos,int tipo){
    int pa=pos;
 if(tipo==1){
    indice temp = nodos[pos].removemitad();
    nodo tempiz;
    nodo tempder;
    for(int i=0;i<31;i++){
        if(i<30){
            tempiz.setIndice(nodos[pos].getData()[i],i);
            tempiz.setSon(nodos[pos].getSons()[i],i);
        }else{
            tempiz.setSon(nodos[pos].getSons()[i],i);
        }
    }
    int j =30;
    for(int i=0;i<32;i++){
        if(i<31){
            tempder.setIndice(nodos[pos].getData()[j],i);
            tempder.setSon(nodos[pos].getSons()[j],i);
        }else{
            tempder.setSon(nodos[pos].getSons()[j],i);
        }
        j++;
    }
    nodos.removeAt(pos);
    nodos.insert(pos,tempiz);
    nodos.append(tempder);
    int nuevaconeccion = nodos.count()-1;
    int pospadre=-1;
    for(int i=0;i<nodos.count();i++){
        for(int j=0;j<nodos[i].getSons().count();j++){
            if(nodos[i].getSons()[j]==pos){
                pospadre=i;
            }
        }
    }

    if(pospadre==-1){
        nodos.append(nodo());
        nodos[nodos.count()-1].setIndice(temp,0);
        nodos[nodos.count()-1].setSon(pos,0);
        nodos[nodos.count()-1].setSon(nuevaconeccion,1);
        pa=nodos.count()-1;
    }else{

        if(nodos[pospadre].getData()[62].getLlave()==""){
            int lugar = nodos[pospadre].lugardisponible(temp,1);
            nodos[pospadre].insertindice(temp,lugar);
            nodos[pospadre].insertson(nuevaconeccion,lugar+1);
            pa=pospadre;

        }

       else{
            int lugarhijo = nodos[pospadre].inserttempdata(temp,1);
            nodos[pospadre].inserttempson(lugarhijo,nuevaconeccion);
            dividir(pospadre,1);
        }

    }
 }else{
     indice temp = nodos[pos].removemitad();
     nodo tempiz;
     nodo tempder;
     for(int i=0;i<31;i++){
         if(i<30){
             tempiz.setIndice(nodos[pos].getData()[i],i);
             tempiz.setSon(nodos[pos].getSons()[i],i);
         }else{
             tempiz.setSon(nodos[pos].getSons()[i],i);
         }
     }
     int j =30;
     for(int i=0;i<32;i++){
         if(i<31){
             tempder.setIndice(nodos[pos].getData()[j],i);
             tempder.setSon(nodos[pos].getSons()[j],i);
         }else{
             tempder.setSon(nodos[pos].getSons()[j],i);
         }
         j++;
     }
     nodos.removeAt(pos);
     nodos.insert(pos,tempiz);
     nodos.append(tempder);
     int nuevaconeccion = nodos.count()-1;
     int pospadre=-1;
     for(int i=0;i<nodos.count();i++){
         for(int j=0;j<nodos[i].getSons().count();j++){
             if(nodos[i].getSons()[j]==pos){
                 pospadre=i;
             }
         }
     }

     if(pospadre==-1){
         nodos.append(nodo());
         nodos[nodos.count()-1].setIndice(temp,0);
         nodos[nodos.count()-1].setSon(pos,0);
         nodos[nodos.count()-1].setSon(nuevaconeccion,1);
         pa=nodos.count()-1;
     }else{

         if(nodos[pospadre].getData()[62].getLlave()==""){
             int lugar = nodos[pospadre].lugardisponible(temp,2);
             nodos[pospadre].insertindice(temp,lugar);
             nodos[pospadre].insertson(nuevaconeccion,lugar+1);
             pa=pospadre;

         }

        else{
             int lugarhijo = nodos[pospadre].inserttempdata(temp,2);
             nodos[pospadre].inserttempson(lugarhijo,nuevaconeccion);
             dividir(pospadre,2);
         }

     }
 }
    return pa;

}
Exemple #18
0
int main()
{
    char seguir='s';
    int opcion=0;
    float x; // numero A
    float y; // numero B
    unsigned short int flagA=0; // Bnadera de ingreso variable x
    unsigned short int flagB=0; // Bandera de ingreso variable y
    while(seguir=='s')
    {
        printf("1- Ingresar 1er operando (A=x)\n");
        printf("2- Ingresar 2do operando (B=y)\n");
        printf("3- Calcular la suma (A+B)\n");
        printf("4- Calcular la resta (A-B)\n");
        printf("5- Calcular la division (A/B)\n");
        printf("6- Calcular la multiplicacion (A*B)\n");
        printf("7- Calcular el factorial (A!)\n");
        printf("8- Calcular todas las operaciones\n");
        printf("9- Salir\n");
        printf("Ingrese la opcion-->");
        scanf("%d",&opcion);
        system("cls");
        switch(opcion)
        {
            case 1:
                printf("Ingrese Un numero A: ");
                scanf("%f",&x); //Se ingresa numero A en x
                flagA=1; // Bandera A de ingreso de dato en 1
                break;
            case 2:
                printf("Ingrese Un numero B: ");
                scanf("%f",&y);//Se ingresa numero B en x
                flagB=1; // Bandera B de ingreso de dato en 1
                break;
            case 3:
                if(validarIngreso(flagA,flagB))
                {
                    printf("La suma de A+B es:%.2f\n",sumar(x,y));
                }
                break;
            case 4:
                if(validarIngreso(flagA,flagB))
                {
                    printf("La resta de A-B es:%.2f\n",restar(x,y));
                }
                break;
            case 5:
                if(validarIngreso(flagA,flagB))
                {
                    if( y != 0 )    //Se verifica que el dividendo sea diferente de cero
                    {
                        printf("La Division de A/B es:%.2f\n",dividir(x,y));
                    }
                    else
                    {
                        printf("ERROR, B tiene que ser distinto de 0\n");
                    }
                }
                break;
            case 6:
                if(validarIngreso(flagA,flagB))
                {
                    printf("La Division de A*B es:%.2f\n",multiplicar(x,y));
                }
                break;
            case 7:
                if(validarFactorial(x,flagA))//verifica si el dato ingresado es correcto
                {
                    printf("El Factorial de  %.0f! es:  %ld\n",x,factorial(x));
                }
                break;
            case 8:
                if(flagA) //Si se encuentra el dato A ingresado
                {
                    if(validarFactorial(x,flagA)) //Verifica si el dato ingresado es correcto
                    {
                       printf("El Factorial de  %.0f! es:  %lld\n",x,factorial(x));

                    }
                }

                if(validarIngreso(flagA,flagB))
                {
                    printf("La suma de A+B es:%.2f\n",sumar(x,y));
                    printf("La resta de A-B es:%.2f\n",restar(x,y));
                    if( y != 0 )
                    {
                        printf("La Division de A/B es:%.2f\n",dividir(x,y));
                    }
                    else
                    {
                        printf("ERROR, B tiene que ser distinto de 0\n");

                    }
                printf("La Division de A*B es:%.2f\n",multiplicar(x,y));
                }

                break;
            case 9:
                seguir = 'n';
                break;
            default:
                printf("La opcion ingresada no es correcta\n");
                break;
        }
        system("pause");
        system("cls");
    }
    return 0;
}
int main()
{
    char seguir='s';
    int opcion=0;
    int opcionValida;
    signed int x=0;
    signed int y=0;
    int factorialFinal;
    int esNumero;
    int flagPrimerOperando=0;
    int flagSegundoOperando=0;

    while(seguir=='s')
    {
        system("cls");
        fflush(stdin);
        printf("                                     CALCULADORA\n");
        printf("\n");
        printf("                              Seleccione la opcion deseada\n");
        printf("\n");
        printf("\n");
        printf("   1- Ingresar 1er operando (A=%i)\n",x);
        printf("\n");
        printf("   2- Ingresar 2do operando (B=%i)\n",y);
        printf("\n");
        printf("   3- Calcular la suma (A+B)\n");
        printf("\n");
        printf("   4- Calcular la resta (A-B)\n");
        printf("\n");
        printf("   5- Calcular la division (A/B)\n");
        printf("\n");
        printf("   6- Calcular la multiplicacion (A*B)\n");
        printf("\n");
        printf("   7- Calcular el factorial (A!)\n");
        printf("\n");
        printf("   8- Calcular todas las operaciones\n");
        printf("\n");
        printf("   9- Salir\n");
        printf("\n");
        printf("Opcion seleccionada: ");
        opcionValida = scanf("%d",&opcion);
        if(!opcionValida || opcion<1 || opcion>9)
            {
             printf("\nERROR. La opcion seleccionada no es valida\n\n");
             system("pause");
            }

            switch(opcion)
            {
                case 1:
                    system("cls");
                    printf("Ingrese el primer operando ");
                    esNumero = scanf("%d", &x);
                    while(!esNumero)
                    {
                        printf("Reingrese el primer operando ");
                        esNumero = scanf("%d", &x);
                    }
                    flagPrimerOperando=1;
                    system("pause");
                    break;
                case 2:
                    system("cls");
                    printf("Ingrese el segundo operando ");
                    esNumero = scanf("%d", &y);
                    while(!esNumero)
                    {
                        printf("Reingrese el segundo operando ");
                        esNumero = scanf("%d", &y);
                    }
                    flagSegundoOperando=1;
                    system("pause");
                    break;
                case 3:
                    system("cls");
                    if(flagPrimerOperando && flagSegundoOperando)
                    {
                        sumar(x, y);
                    }
                    else
                    {
                        printf("ERROR. Ingrese ambos operandos\n");
                    }
                    system("pause");
                    break;
                case 4:
                    system("cls");
                    if(flagPrimerOperando && flagSegundoOperando)
                    {
                        restar(x, y);
                    }
                    else
                    {
                        printf("ERROR. Ingrese ambos operandos\n");
                    }
                    system("pause");
                    break;
                case 5:
                    system("cls");
                    if(flagPrimerOperando && flagSegundoOperando)
                    {
                        dividir(x, y);
                    }
                    else
                    {
                        printf("ERROR. Ingrese ambos operandos\n");
                    }
                    system("pause");
                    break;
                case 6:
                    system("cls");
                    if(flagPrimerOperando && flagSegundoOperando)
                    {
                        multiplicar(x, y);
                    }
                    else
                    {
                        printf("ERROR. Ingrese ambos operandos\n");
                    }
                    system("pause");
                    break;
                case 7:
                    system("cls");
                    if(flagPrimerOperando && flagSegundoOperando)
                    {
                        factorialFinal = factorial(x)+factorial(y);
                        printf("El factorial de %d es: %d\n", x, factorial(x));
                        printf("El factorial de %d es: %d\n", y, factorial(y));
                        printf("El factorial de %d mas el de %d es: %d\n", x, y, factorialFinal);
                    }
                    else
                    {
                        printf("ERROR. Ingrese ambos operandos\n");
                    }
                    system("pause");
                    break;
                case 8:
                    system("cls");
                    if(flagPrimerOperando && flagSegundoOperando)
                    {
                        sumar(x, y);
                        restar(x, y);
                        dividir(x, y);
                        multiplicar(x, y);
                        printf("El factorial de %d es: %d\n", x, factorial(x));
                        printf("El factorial de %d es: %d\n", y, factorial(y));
                        printf("El factorial de %d mas el de %d es: %d\n", factorial(x), factorial(y), factorialFinal);
                    }
                    else
                    {
                        printf("ERROR. Ingrese ambos operandos\n");
                    }
                    system("pause");
                    break;
                case 9:
                    seguir = 'n';
                    break;
            }
    }
    return 0;

}
Exemple #20
0
void evaluar()
{
    float nota = 0;


int sumar(int a, int b);
int restar(int a, int b);
int multiplicar(int a, int b);
int dividir(int a, int b);
int getMayor(int a, int b);
int getMenor(int a, int b);
int getMayor(int a, int b, int c);
void setValor(int arreglo[], int valor, int posicion);
int getValor(int arreglo[], int posicion);
int getMayor(int arreglo[], int tamano);
int getMenor(int arreglo[], int tamano);
int getPromedio(int arreglo[], int tamano);


    cout<<"Ejercicio sumar:\t\t";
    if(sumar(5,3)==8 && sumar(2,1)==3 && sumar(1000,1234)==2234)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }


    cout<<"Ejercicio restar:\t\t";
    if(restar(5,3)==2 && restar(2,1)==1 && restar(5,7)==-2)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio multiplicar:\t\t";
    if(multiplicar(5,3)==15 && multiplicar(2,1)==2 && multiplicar(5,-7)==-35)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }


    cout<<"Ejercicio dividir:\t\t";
    if(dividir(9,3)==3 && dividir(2,1)==2 && dividir(8,2)==4)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio getMayor:\t\t";
    if(getMayor(9,3)==9 && getMayor(1,2)==2 && getMayor(8,2)==8 && getMayor(8,16)==16)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio getMenor:\t\t";
    if(getMenor(9,3)==3 && getMenor(1,2)==1 && getMenor(8,2)==2 && getMenor(8,16)==8)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio getMayor:\t\t";
    if(getMayor(9,3,5)==9 && getMayor(1,3,2)==3 && getMayor(2,8,2)==8 && getMayor(8,5,16)==16)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio setValor:\t\t";
    int arr[]={1,2,3};
    setValor(arr,4,1);
    setValor(arr,9,2);
    int arr2[]={10,20};
    setValor(arr2,30,1);
    if(arr[0]==1 && arr[1]==4 && arr[2]==9 && arr2[0]==10 && arr2[1]==30)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio getValor:\t\t";
    int a1[]={3,4,2,1};
    int a2[]={10,20,30};
    if(getValor(a1,0)==3 && getValor(a1,1)==4 && getValor(a2,0)==10 && getValor(a2,1)==20)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }


    cout<<"Ejercicio getMayor:\t\t";
    if(getMayor(a1,4)==4 && getMayor(a2,3)==30)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio getMenor:\t\t";
    if(getMenor(a1,4)==1 && getMenor(a2,3)==10)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    cout<<"Ejercicio getPromedio:\t\t";
    if(getPromedio && getPromedio(a2,3)==20)
    {
        nota+=0.5;
        cout<<"Correcto"<<endl;
    }else
    {
        cout<<"Incorrecto"<<endl;
    }

    int pl;
    cout<<endl<<"Nota: "<<nota<<"/6"<<endl;
    cin>>pl;

}
main()
{
    int opc = 0;
    int N1;
    int N2;
    int RES;
    while(opc != 5)
    {

        printf("\n\n\n1. Hacer una suma              |||   |||  |||||  |||||| |||||| ||||| ||  ||         >             \n");
        printf("2. Hacer una resta             ||||  |||     ||  ||  || ||        |  || ||          >              \n");
        printf("3. Hacer una multiplicacion    ||| | |||  |||    ||  || || ||| |||   ||||           >               \n");
        printf("4. Hacer una division          |||  ||||     ||  ||  || ||  ||    || || ||          >    \n");
        printf("5. salir                       |||   |||  |||||  |||||| |||||| ||||| ||  ||         >   \n\n\n");

        printf("   Teclear una opcion:  ");
        scanf("%d", &opc);
        switch(opc)
        {
            case 1:
                printf("\n\n\nHas escojido la opcion de suma\n");
                printf("Ingresa el primer numero:");
                scanf("%i", &N1);
                printf("Ingresa el primer segundo:");
                scanf("%i", &N2);
                RES = sumar(N1,N2);
                printf("\n\n\nEl resultado de la suma es: %i \n\n\n\n\n\n\n\n\n\n\n\n\n", RES);
                printf("\n<----------------------------------------------------------------------------------->");
                break;
            case 2:
                printf("\n\n\nHas escojido la opcion de Resta\n");
                printf("Ingresa el primer numero:");
                scanf("%i", &N1);
                printf("Ingresa el primer segundo:");
                scanf("%i", &N2);
                RES = restar(N1,N2);
                printf("\n\n\nEl resultado de la Resta es: %i ", RES);
                printf("\n<----------------------------------------------------------------------------------->");
                break;
            case 3:
                printf("\n\n\nHas escojido la opcionde Division\n");
                printf("Ingresa el primer numero:");
                scanf("%i", &N1);
                printf("Ingresa el primer segundo:");
                scanf("%i", &N2);
                RES = dividir(N1,N2);
                printf("\n\n\nEl resultado de la Division es: %i ", RES);
                printf("\n<----------------------------------------------------------------------------------->");
                break;
            case 4:
                printf("\n\n\nHas escojido la opcionde Multiplicacion\n");
                printf("Ingresa el primer numero:");
                scanf("%i", &N1);
                printf("Ingresa el primer segundo:");
                scanf("%i", &N2);
                RES = multiplicar(N1,N2);
                printf("\n\n\nEl resultado de la Multiplicacion es: %i ", RES);
                printf("\n<----------------------------------------------------------------------------------->");
                break;

            case 5:
                printf("\n\n\nSe ha elegido salir del programa \n");
                break;
            default:
                printf("\tOpcion no disponible\n\n");
                break;
        } 
    } 
}
int main()
{

    int opcion=0;
    int numero1=0;
    int numero2=0;

    do{
        printf("1- Ingrese 1er operando(A=%d)\n",numero1);
        printf("2- Ingrese 2do operando(B=%d)\n",numero2);
        printf("3- Calcular la suma (A+B)\n");
        printf("4- Calcular la resta (A-B)\n");
        printf("5- Calcular la division (A/B)\n");
        printf("6- Calcular la multiplicacion (A*B)\n");
        printf("7- Calcular el factorial (A!)\n");
        printf("8- Calcular todas las operaciones\n");
        printf("9- Salir\n");

        scanf("%d",&opcion);
        system("cls");
        switch(opcion)
        {
            case 1:
                numero1=pedirNumero("Ingrese primer operando:\n");

                system("cls");
                break;
            case 2:
                numero2=pedirNumero("Ingrese segundo operando:\n");
                system("cls");

                break;
            case 3:
                printf("La suma resultante es: %.2f\n", sumar(numero1,numero2));
                break;
            case 4:
                printf("La resta resultante es:%.2f\n",restar(numero1,numero2));
                break;
            case 5:
                if(numero2==0)
                {
                    printf("No se puede dividir por 0, Intente nuevamente:\n");
                    system("pause");
                    system("cls");
                }
                else
                {
                 printf("El resultado de la division es: %.2f\n",dividir(numero1,numero2));
                 system("pause");
                 system("cls");
                }
                break;
            case 6: if(numero2==0)
                {
                    printf("Todo numero multiplicado por 0 es 0. Intente nuevamente \n");
                    system("pause");
                    system("cls");
                }
                else
                {
                    printf("El resultado de la multiplicacion es: %.2f\n",multiplicar(numero1,numero2));
                    system("pause");
                    system("cls");
                }
                break;
            case 7: printf("El factorial de %d es: %d\n",numero1,factorializar(numero1));
                    system("pause");
                    system("cls");
                break;
            case 8: printf("La suma resultante es: %.2f\n", sumar(numero1,numero2));
                    printf("La resta resultante es:%.2f\n",restar(numero1,numero2));
                    if(numero2==0)
                {
                    printf("No se puede dividir por 0, Intente nuevamente:\n");

                }
                else
                {
                 printf("El resultado de la division es: %.2f\n",dividir(numero1,numero2));

                }
                if(numero2==0)
                {
                    printf("Todo numero multiplicado por 0 es 0. Intente nuevamente \n");

                }
                else
                {
                    printf("El resultado de la multiplicacion es: %.2f\n",multiplicar(numero1,numero2));
                }
                    printf("El factorial de %d es: %d\n",numero1,factorializar(numero1));
                    system("pause");
                break;
            case 9:
                break;
        }

    }while(opcion!=9);

    return 0;
}
Exemple #23
0
int btree::insertIndice(indice in,int pos,int tipo){
    int pa = pos;
if(tipo==1){
  if(nodos.count()>0){
    if(!(nodos[pos].getSons()[0]==-1)){
        for(int i=0;i<nodos[pos].getData().count();i++){
            if(nodos[pos].getData()[i].getLlave()!=""){
                if(nodos[pos].getHijoIzquiero(i)!=-1 && in.getLlave()<nodos[pos].getData()[i].getLlave()){
                    insertIndice(in,nodos[pos].getHijoIzquiero(i),1);
                 }else if(i==nodos[pos].getData().count()-1){
                    insertIndice(in,nodos[pos].getHijoDerecho(i),1);
                }
            }else{
                insertIndice(in,nodos[pos].getHijoIzquiero(i),1);
                break;
            }

        }


    }else if(nodos[pos].getData()[61].getLlave()==""){
        nodos[pos].insertindice(in,nodos[pos].lugardisponible(in,1));
    }else{

        int lugarhijo = nodos[pos].inserttempdata(in,1);
        nodos[pos].inserttempson(lugarhijo,-1);
        pa = dividir(pos,1);

    }
  }else{
    nodos.append(nodo());
    nodos[pos].setIndice(in,0);
  }
 }else{
    if(nodos.count()>0){
      if(!(nodos[pos].getSons()[0]==-1)){
          for(int i=0;i<nodos[pos].getData().count();i++){
              if(nodos[pos].getData()[i].getLlave()!=""){
                  if(nodos[pos].getHijoIzquiero(i)!=-1 && in.getLlave().toInt()<nodos[pos].getData()[i].getLlave().toInt()){
                      insertIndice(in,nodos[pos].getHijoIzquiero(i),2);
                   }else if(i==nodos[pos].getData().count()-1){
                      insertIndice(in,nodos[pos].getHijoDerecho(i),2);
                  }
              }else{
                  insertIndice(in,nodos[pos].getHijoIzquiero(i),2);
                  break;
              }

          }


      }else if(nodos[pos].getData()[61].getLlave()==""){
          nodos[pos].insertindice(in,nodos[pos].lugardisponible(in,2));
      }else{

          int lugarhijo = nodos[pos].inserttempdata(in,2);
          nodos[pos].inserttempson(lugarhijo,-1);
          pa = dividir(pos,2);

      }
    }else{
      nodos.append(nodo());
      nodos[pos].setIndice(in,0);
    }
 }
  return pa;
}