예제 #1
0
bool calcular(int numero, int divisor){
    bool resultado;

    if(divisor == 1)
	return false;
    
    if(numero % divisor == 0)
	resultado = true;
    else
	resultado = false;

    return resultado || calcular(numero, divisor - 1);
}
예제 #2
0
main()
{
	//vars
	int A[6], B[6];
	
	printf("OPERACOES COM VETORES\n\n");
	
	lerVetor(A, 6);
	lerVetor(B, 6);
	imprimirVetor(A, 6);
	imprimirVetor(B, 6);
	calcular(A, 6, B);
}
void verificarExpresion(char** cad){
    String cadena = *cad;
    int length = strlen(cadena);
    /** Auxiliares para continuar con el ciclo*/
    int i = 0; 
    StackEntry op1, op2, res;
    int posError;
    bool evalacion = true;

    /** Pila para el evaluador */
    ptrNodoPila pila = NULL; 

    while(cadena[i] != '\0' && evalacion == true){
        /** Validamos si se trata de un operando */
        if(esOperando(cadena[i])){
            int aux = cadena[i] -'0';
            push(&pila,aux);
        }
        else /**Validamos si es un operador */
        if (esOperador(cadena[i])){
            /** Valida si existen al menos dos operandos */
            if(!stackEmpty(&pila)){
                op2 = pop(&pila);
                if (!stackEmpty(&pila)){
                    op1 = pop(&pila);
                    res = calcular(op1, cadena[i], op2);
                    push(&pila,res);
                }else{
                	printf("\nSe esperaba un operando antes del operador %c en lo posicion %d\n",cadena[i],i+1);
                	break;
                }
            }else{
                printf("\nSe esperaban dos operandos antes del operador %c en lo posicion %d\n",cadena[i],i+1);
                break;
            }
        }else{
        	printf("Caracter invalido en la posicion %d\n",i+1);
        	break;
        }
        /** Valida que haya quedado solo un numero en la pila */
        i++;
    }
    if(!stackEmpty(&pila)){
    	res = pop (&pila);
    	if(stackEmpty(&pila))
        	printf("\n<<< Expresion posfija valida!>>>\n<<< Resultado final:\t%d>>>\n",res);
        else
        	printf("\n>>> Se esperaban mas operadores\n");
    }
        
}
예제 #4
0
int main(int argc, const char **argv){

    int numero;
    int divisor = numero;

    printf("Mete un número: ");
    scanf(" %i", &numero);

    if (calcular(numero, divisor - 1))
	printf("No es un número primo\n");
    else
	printf("Si es un número primo\n");

    return EXIT_SUCCESS;
}
main(){
//Personalização de Cor
system("color 17");
//Configurando Idioma
setlocale(LC_ALL, "Portuguese");
system("cls");
//Inicio
tela();                 
    float lado, area, perimetro;
    printf("\n\n Insira o lado do quadrado: ");
    cin>>lado;
    calcular(lado,&area,&perimetro);
    cout<<"\n\n\n\n Lado: "<<area<<"\n\n Perimetro: "<<perimetro;
       
getch();
}
예제 #6
0
int loop(){
	
	//inicia a pilha usada pelo programa
    pilha *p = inicia();
    char g_char[MAX_LENTH];
    
    //exibe o cabeçalho do programa
    if(!RUN_CODES)
    	exibeHeader();
    
    //loop principal
    while(1){
        gets(g_char);
        if(strlen(g_char) > 1)
        	tiraEspaco(g_char);
        	
        //define a saida do programa
        char sair_s[] = "s";
        char sair_S[] = "S";
        if(!strcmp(g_char, sair_S) || !strcmp(g_char, sair_s))
            return 1;
            
        //define a entrada em help
        char help_h[] = "h";
        char help_H[] = "H";
        if(!strcmp(g_char, help_h) || !strcmp(g_char, help_H)){
        	if(!RUN_CODES)
        		exibeHelp();
        	fflush(stdin);
        	continue;
		}
        
        //entra na função que trata cada char da string informada pelo usuario
        int erro = calcular(g_char, p);
        if(erro == 1){
        	if(!RUN_CODES){
        		exibeHeader();
        		printf("\nErro! Para fazer um calculo, inicie com E\n");
			}
		}
    }
    return 1;
}
예제 #7
0
파일: SINX.CPP 프로젝트: pablinme/Proyectos
void main()
{
 char op;
 int n;
 double a[20];
 double b[20];
 double c[20];
 do
 {
   menu();
   scanf("%c", &op);

   switch(op)
   {
     case '1':
     clrscr();
     ingresar(a, &n);
     break;

     case '2':
     calcular(a, b, c, n);
     clrscr();
     printf("\n Los calculos han finalizado correctamente....");
     getch();
     break;

     case '3':
     clrscr();
     desplegar(a, b, c, n);
     getch();
     break;

     case '4':
     op = 'n';
   }

 }while(op != 'n');

}