Bloque 4.2: Ejemplos Funciones

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ธ.ค. 2024

ความคิดเห็น • 128

  • @antonioy.2782
    @antonioy.2782 7 ปีที่แล้ว +4

    Te agradezco que subas tus clases, eres a mí parecer quien enseña mejor en TH-cam, muchísimas gracias! Saludos desde Chile!

  • @edwingonzalez8786
    @edwingonzalez8786 3 ปีที่แล้ว +1

    Un crack, mi profe nos deja a la suerte, pero mi suerte eres tú

  • @arbitayt8937
    @arbitayt8937 ปีที่แล้ว +1

    Este tipo, merece que vea el minuto completo de anuncio. Gracias campeón por tanta información

  • @alexinhdez7523
    @alexinhdez7523 9 ปีที่แล้ว +1

    Excelentes vídeos
    Completos, ilustrativos y geniales para practicar...
    muchas Felicidades por tus aportaciones

  • @andreeanersidan2729
    @andreeanersidan2729 ปีที่แล้ว

    Gracias, con tus videos me entero mas que con la profesora. Un saludo!!!!
    Si quieres sube uno con fichero.

  • @LionsLite
    @LionsLite 9 ปีที่แล้ว +23

    jajaj yo hice los dos codigos por mi cuenta y cuando mire el video completo aprendi a reutilizar la funcion xD.(habia creado otra funcion extra xD).

  • @jorgedesc
    @jorgedesc 9 ปีที่แล้ว

    a mi parecer es mejor meter todo en la funcion (el if y else), el codigo es mas corto y no se carga el main.
    me funciona bien asi. dejo el codigo por si a alguien le sirve.
    // comprobar si dos numeros son primos con una funcion
    #include
    int primo();
    int main(){
    int x,y;
    printf("Ingrese el primer numero:");
    scanf("%i",&x);
    printf("Igrese el segundo numero:");
    scanf("%i",&y);
    primo(x);
    primo(y);
    }
    int primo(int a){
    int i,resi,j=0;
    for (i=2;i

  • @pablopiedad90
    @pablopiedad90 7 ปีที่แล้ว

    Yo lo he hecho asi, y la verdad que va bien:
    #include
    int mayor(int a, int b);
    int factorial(int a);
    int primo(int a);
    int main()
    {
    int a,b,m,f,p;
    int op;
    char opc,opc1;
    do{
    do{
    printf("Introduce un numero
    ");
    scanf("%d",&a);
    printf("Introduzca otro numero
    ");
    scanf("%d",&b);
    }while(ab)
    return a;
    else
    return b;
    }
    //cabecera:int factorial(int a)
    //precondicion:El numero a es un numero entero positivo, el cual se ha introducido con anterioridad
    //postcondicion: Devuelve el valor del factorial de a
    int factorial(int a)
    {
    int res=1,i;
    for(i=1;i

  • @agustinlyon8173
    @agustinlyon8173 3 ปีที่แล้ว +4

    El de los primos , me dio por hacerle validaciones asi que puse dos condiciones: Que no sean numeros negativos y que sean diferentes..
    Código:
    #include
    #include
    //Comprobar si dos numeros diferentes son primos usando una funcion
    void esPrimo(int num);
    int main()
    {
    int num1,num2=0;

    do{
    printf("Digite el primer numero :
    ");
    scanf("%d",&num1);


    printf("Digite el segundo numero :
    ");
    scanf("%d",&num2);

    if(num1

  • @ElDestapeMX
    @ElDestapeMX 8 ปีที่แล้ว +1

    Se podría ahorrar trabajo a la máquina reduciendo el número de operaciones al momento de las divisiones del contador y el número, si solamente se hace la división, hasta la mitad del número introducido, ya que si no encontró un residuo de 0 en la primer mitad, obviamente no lo encontrará en la otra mitad y no sería necesario seguir con las operaciones. Al igual, que meter las condicionales en la función, para no repetir código:
    int primo (int num);
    int main (){
    int x,y;
    printf ("Introduce el 1er numero: ");
    scanf ("%i",&x);
    printf ("Introduce el 2do numero: ");
    scanf ("%i",&y);
    primo (x);
    primo (y);
    system ("pause");
    return 0;
    }
    int primo (int num){
    int i, bandera;
    bandera = 0;
    for (i = 2; i

  • @mw3ki215
    @mw3ki215 8 ปีที่แล้ว

    No lo hice igual, pero lo resolví sin mirar el video y funciona.
    #include
    int factorial();
    int main (){
    int n1,n2,aux;
    printf("Introduce el primer numero: ");
    scanf("%i",&n1);
    aux=factorial(n1);
    printf("El factorial de %i es: %i
    ",n1,aux);

    printf("Introduce el segundo numero: ");
    scanf("%i",&n2);
    aux=factorial(n2);
    printf("El factorial de %i es: %i
    ",n2,aux);
    system("pause");
    return 0;
    }
    int factorial(int a1, int a2){
    int i,m,aux1;
    aux1=1;
    if (a1!=0){
    m=a1;
    }
    else {
    m=a2;
    }
    for (i=1;i

  • @Lashistoriasdelilith
    @Lashistoriasdelilith 3 ปีที่แล้ว

    muy buenos videos, explicas muy bien.

  • @JoseAguirre-hl2do
    @JoseAguirre-hl2do 8 ปีที่แล้ว +6

    Es de verdad necesario poner el prototipo??
    porque en los 2 códigos he tenido el "error" de no ponerlo y aun así ha funcionado el programa a la pefeccion

  • @TheEmanuel15x
    @TheEmanuel15x 9 ปีที่แล้ว +3

    así hice la de factorial;:
    #include
    int main(){
    int x,y,aux;
    printf("Ingresar un Numero: ");
    scanf("%i",&x);
    printf("Introduce otro numero: ");
    scanf("%i",&y);
    aux = factorial(x);
    printf("El factorial %i es %i.
    ",x,aux);
    aux = factorial(y);
    printf("El Factorial de %i es %i.
    ",y,aux);
    system("pause");
    return 0;
    }
    int factorial(n){
    int i,x;
    x=1;
    for(i = 1; i

  • @demorootmail673
    @demorootmail673 7 ปีที่แล้ว

    Cuando haces lo del # primo, no es necesario hacer otra variable basta con aux es suficiente mira
    int primo(int x){
    int i,aux;
    aux=1;
    for(i=2;i

  • @crmmotors9130
    @crmmotors9130 9 ปีที่แล้ว

    hola, mira aqui te dejo mi codigo para que le heches un vistacillo.
    solo decirte que se puede hacer solamente usando if, en vez de for, y sale mucho mas eficiente. un saludo y enhorabuena por tu canal, me esta sirviendo de mucha ayuda.
    seria dentro de la funcion primo:
    int primo (int a){
    int aux;
    if (a%2==0)
    {
    aux = 0;
    }
    else{
    aux=1;
    }
    return aux;
    }

    • @EmpiezaAProgramar
      @EmpiezaAProgramar  8 ปีที่แล้ว

      +Jose Manuel Muñoz Esteban +Claudio Requena Tal como el lo ha hecho NO esta bien, si miráis el resto de comentarios en el vídeo donde explico a calcular los números primos, veréis como lo he explicado en muchas veces.
      El poner solo un if no es suficiente porque hay números, como el 9, donde divido entre 2 da un resto de 1, pero 9 NO es primo, ya que se puede dividir entre 3 y dará un resto de 0. Tal como esto, existen multitud de números que solo pueden ser divididos por otros primos, por ejemplo el 25 entre 3 no da como resto 1, pero no es primo, ya que 25 entre 5 el resto es 0, etc...
      +Jose Manuel Muñoz Esteban Por otro lado, lo que mas tiempo consume en programación son los bucles (cosa que se va explicando poco a poco, pero sobre todo al final del bloque 3), por lo que si se pudiera hacer como el usuario explica, seria MUY eficiente, pero desgraciadamente el resultado seria erróneo, por lo que es lo contrario que comentas.
      Un saludo.

  • @jorgeb2789
    @jorgeb2789 7 ปีที่แล้ว

    Por aquí os dejo mi pequeña obra de arte, en la función principal no se usan más que referencias a funciones y declarar algunos números, la verdad me gusto como me quedó:
    Por aquí os lo dejo:
    #include
    int primo (int num);
    int mostrarnumero(int num);
    int introducirnumero();
    int main(){
    int num1, num2, num3;
    num1 = introducirnumero();
    num2 = introducirnumero();
    num3 = introducirnumero();
    printf("

    ");
    primo (num1);
    primo (num2);
    primo (num3);
    printf("

    ");
    system("pause");
    return 0;
    }
    int primo(int num){
    int i; //contador
    int rest; //resto
    int prim; //comprobar si es primo meidante el resto
    prim=0;
    for(i=2;i

  • @juankujarchi2203
    @juankujarchi2203 6 ปีที่แล้ว

    Una pregunta, en el minuto 8:13 el valor de retorno de la funcion con la variable fact2, devuelve como resultado el numero 362880, segun la tabla de valores para los tipos de variables, la variable int tiene un rango de -32.767 a 32.767, veo que en este caso supera el valor maximo del rango del tipo int, tengo una pregunta, en este caso seguiria valiendo 2bytes el valor de retorno (aux)? o pasaria a valer 4bytes? estoy un poco confundido. Saludos

  • @juangomar6812
    @juangomar6812 9 ปีที่แล้ว

    anda, yo he hecho el ejercicio de los dos factoriales metiendo dos funciones adicionales jeje... la eficiencia no es lo mio :(
    dejo el código por si a alguien le interesa:
    #include
    int fact1();
    int fact2();
    int main (){
    int x, y, z, w;
    printf ("introduce un numero para calcular su factorial: .
    ");
    scanf ("%i", &x);
    printf ("introduce otro numero para calcular su factorial: .
    ");
    scanf ("%i", &y);
    z = fact1 (x);
    printf ("el factorial de %i es: %i
    ", x, z);
    w = fact2 (y);
    printf ("el factorial de %i es: %i
    ", y, w);
    system ("pause");
    return 0;

    }
    int fact1 ( int a){
    int i, aux;
    aux = 1;
    for ( i = 1; i

  • @karlosvicentt
    @karlosvicentt 11 หลายเดือนก่อน

    El segundo ejercicio me salió de una forma más sencilla:
    #include
    int primo(int a);
    int main(void) {
    int n1, n2, contadorAuxiliar, prim1, prim2;
    printf("Introduce el primer numero para comprobar si es primo: ");
    scanf("%d", &n1);
    printf("Introduce el segundo numero para comprobar si es primo: ");
    scanf("%d", &n2);
    prim1 = primo(n1);
    prim2 = primo(n2);
    return 0;
    }
    int primo(int a) {
    int i, contadorAuxiliar=0;
    for(i=1;i2) {
    printf("El numero %d no es primo
    ", a);
    } else {
    printf("El numero %d es primo
    ", a);
    }
    return contadorAuxiliar;
    }

  • @Zoroark1999
    @Zoroark1999 8 ปีที่แล้ว

    Emilio o algun otro programdor, el ejercicio 5 no lo he comprendido bien:
    5-) Realiza un programa que lea dos números 10 veces y realice en la primera lectura el
    producto de los números sin utilizar el operador * y en la segunda lectura la división sin
    usar el operador / y así sucesivamente. Finalmente debe imprimir los resultados.
    Implementarlo utilizando funciones (Producto_sumas, división_restas).
    (Realiza la comprobación de si el número es par o impar a través de un macro).
    Se habla de dos lecturas y el resultado se almacenara en una variable, pero analizándolo así, no se necesitan dos funciones. El ejercicio me indica que lo programa con dos funciones.

  • @luisalfredodelaossadiaz5989
    @luisalfredodelaossadiaz5989 8 ปีที่แล้ว +1

    yo lo hice asi...
    int factorial1 (int fact1a) {
    int i, fact, fact1;
    fact = 1;
    for ( i=1 ; i

  • @benjaminarias5193
    @benjaminarias5193 9 ปีที่แล้ว

    geniales tus videos
    printf ("

  • @antoniferrer1248
    @antoniferrer1248 8 ปีที่แล้ว

    Hola, Estoy utilizando codeblocks y al reutilizar la funcion me da un warning de redefinition of funcion primo. Tengo que ponerle una función adicional si no no me funciona. A que se puede deber?

  • @albertom2775
    @albertom2775 7 ปีที่แล้ว +1

    Entendí mal el ejercicio e hice un programa para saber si 2 números primos son coprimos. Mi forma de saber si un número es primo o no es ligeramente diferente a la que hace el profesor. Es válida pero algo diferente. Además yo solo hago una llamada a la función nCoprimos. Aquí la tenéis;
    //Saber si dos numeros primos son coprimos.
    #include
    int nCoprimos();
    int main(){
    int a, b, c;
    printf("Introduce el primer numero: ");
    scanf("%d", &a);
    printf("Introduce el segundo numero: ");
    scanf("%d", &b);
    c = nCoprimos(a,b);
    if(c == 2){
    printf("Los numeros %d y %d son coprimos.

    ", a, b);
    }else{
    printf("Los numeros %d y %d no son coprimos.

    ", a, b);
    }
    system("PAUSE");
    return 0;
    }
    int nCoprimos(int x, int y){
    int i, aux, aux1, primo;
    for(i = 2; i < x && aux != 1; i++){
    if(x%i == 0){
    aux = 1;
    }else{
    aux = 2;
    }
    }
    for(i = 2; i < y && aux != 1; i++){
    if(y%i == 0){
    aux1 = 1;
    }else{
    aux1 = 2;
    }
    }

    if(aux == 2 && aux1 == 2){
    primo = 2;
    }else{
    primo = 1;
    }
    return primo;
    }

  • @quiquef691
    @quiquef691 4 ปีที่แล้ว +1

    Hola, muy buen video, he aprendido muchisimo gracias a tus videos, sigue asi.
    Una pregunta el (int a) es el valor introducido X y Y?
    Me cofunde un poco por que en el anterior video donde explicas las funciones, hubo la necesidad de llamar dos variables int a y int b.

  • @benko-pi1fi
    @benko-pi1fi 9 ปีที่แล้ว

    EXCELENTE

  •  9 ปีที่แล้ว

    Yo he colocado como prototipo el int primo (); y no he tenido ningún tipo de warning, ¿no hay problema en no poner el "int a" entre paréntesis o tal vez algún problema más adelante?

  • @246jonhy
    @246jonhy 5 ปีที่แล้ว +1

    Buen video. Para la próximos seria bueno hacer zoom en el código para ver el cosigo sin exforzar la vista.

  • @Marco-fw6xp
    @Marco-fw6xp 4 ปีที่แล้ว

    El programa que hice para primo me parece un poco mas practico mas o menos es usando lo que vimos en la 3.6.2 simplemente sin incluir tantos printf se los dejo por aquí :
    //Comprobar si dos numeros diferentes son primos con una funcion
    #include
    int primo(int a);
    int main(){

    int x,y,prim1,prim2;

    printf("Introduce el primer numero para saber si es primo: ");
    scanf("%i",&x);

    printf("Intoduce el segundo numero para saber si es primo: ");
    scanf("%i",&y);

    prim1=primo(x);
    prim2=primo(y);

    return 0;
    }
    int primo(int a){

    int i,j,aux;
    j=0;

    for (i = 2;i

    • @Alexis-vy6yw
      @Alexis-vy6yw 2 ปีที่แล้ว

      todo bien hasta la parte de los if y else. Ya que ahi dices si es primo o no, pero, despues entonces no tendria sentido que devuelvas el valor aux a la función main ni todo lo relacionado a eso. Por lo demas me parece una idea que seguro la tome para en base a eso hacer otras cosas. Por lo tanto gracias.

  • @jcruizc
    @jcruizc 5 ปีที่แล้ว

    EXCELENTE profesor, de pana te mereces un buen reconocimiento.
    tengo una duda, yo hice el programa así:
    //factorial de dos nro usando una función
    #include "stdio.h"
    #define p printf
    #define s scanf
    main(){
    int x,y,n;
    for(n=1;n

  • @scenesmovies7405
    @scenesmovies7405 8 ปีที่แล้ว

    emilio, a que se refiere este ejercicio:
    5-) Realiza un programa que lea dos números 10 veces y realice en la primera lectura el
    producto de los números sin utilizar el operador * y en la segunda lectura la división sin
    usar el operador / y así sucesivamente. Finalmente debe imprimir los resultados.
    Implementarlo utilizando funciones (Producto_sumas, división_restas).
    (Realiza la comprobación de si el número es par o impar a través de un macro).

  • @gersonyaserescuderobejaran7954
    @gersonyaserescuderobejaran7954 ปีที่แล้ว

    Buenas noches en primera agradezco por el valioso material que usted esta compartiendo... Tengo una duda al momento de poner el protocolo de la función factorial "int factorial ();" en necesario indicar entre los paréntesis la variable "(int a)" lo hice de las dos formas, poniéndolas y sin ponerlas y me sale lo mismo o tal ve no me estoy fijando bien, quisiera saber si existe alguna diferencia... agradezco nuevamente este material que ha subido y deseándole un feliz año.

  • @Agusyc
    @Agusyc 9 ปีที่แล้ว

    #include
    int factorial();
    int main(){
    int Pr, Se;
    int factorial1, factorial2;
    printf("Introduce el primer numero: ");
    scanf("%i",&Pr);
    printf("Introduce el segundo numero: ");
    scanf ("%i",&Se);
    factorial1 = factorial (Pr);
    factorial2 = factorial (Se);
    printf("El factorial de %i es %i y el de %i es %i",Pr, factorial1, Se, factorial2);
    }
    int factorial(int Primo){
    int Factorial;
    int i = 1;
    int aux = 1;
    while (i

  • @Inyector
    @Inyector 7 ปีที่แล้ว

    Buen video

  • @megamijor2
    @megamijor2 10 ปีที่แล้ว +4

    Y si metes los printf dentro de la función primo no sería mejor? Me explico:
    //Decir si dos numeros son primos o no
    #include
    int primos (int a);
    int main () {
    int x,y;
    printf ("Introduce el primer numero: ");
    scanf ("%i",&x);
    printf ("Introduce el segundo numero: ");
    scanf ("%i",&y);
    primos (x);
    primos (y);
    system ("pause");
    return 0;
    }
    int primos (int a) {
    int i,resto;
    resto = 1;
    for (i=2; i

    • @thejero5326
      @thejero5326 4 ปีที่แล้ว

      Yo hice esto mismo xD

  • @goldesenor9475
    @goldesenor9475 7 ปีที่แล้ว

    Yo cuando lo hice cree una nueva función para mostrar, asi no escribia dos veces el codigo de printf::
    #include
    int primo(int num);
    int comprobarprimo(int p, int n);
    int main (){
    int x,y,contx,conty;
    x=21;
    y=764;
    contx=primo(x);
    conty=primo(y);
    comprobarprimo(contx,x);
    comprobarprimo(conty,y);
    system("pause");
    return 0;
    }
    int primo(int num){
    int i,aux,p;
    p=0;
    aux=99;
    for(i=2;i

  • @holynight524
    @holynight524 7 ปีที่แล้ว +3

    pregunta!
    Cual es la diferencia entre un "int main (void)" y un "int main ()"
    porque veo que void y main son cosas muy diferentes y me estoy rompiendo la cabeza tratando buscar el porque. Me ayudaria mucho que me dijeran.
    Muchas Gracias de antemano!

    • @elestudiante493
      @elestudiante493 3 ปีที่แล้ว

      Creo que el void no regresa valor es 0 y pues se ocupa cuando no nesesitas el valor de una variable o otra cosa pero creo que ya no lo ocupas

  • @carlosmorell6841
    @carlosmorell6841 10 ปีที่แล้ว

    Una duda:
    Cuando pasas por segunda vez por la funcion primo y factorial, ¿porqué en el prototipo de la función incluyes el "int a"?
    Porque cuando únicamente pasamos una vez por la función no ponemos nada

  • @dchstar
    @dchstar 6 ปีที่แล้ว

    Yo lo hice así antes de ver el video xD y si sale igual o mejor
    //Bloque 4.2.2: Ejemplo de funciones: Conprobar si dos numeros son primos en una función
    #include
    int primo(int n);
    int main (void){
    int x, y, prim1, prim2;
    printf ("Coloca un numero para x: "); scanf ("%i",&x);
    printf ("Coloca un numero para y: "); scanf ("%i",&y);

    prim1 = primo (x);
    prim2 = primo (y);
    if (prim1 == 0){
    if (prim2 == 0){
    printf ("%i y %i son numeros primos.

    ",x,y);
    }
    else {
    printf ("%i SI es primo, pero %i No es primo.

    ",x,y);
    }
    }
    else {
    if (prim2 == 0){
    printf ("%i No es primo, pero %i SI lo es.

    ",x,y);
    }
    else {
    printf ("%i y %i NO son numeros primos.

    ",x,y);
    }
    }
    system ("pause");
    return 0;
    }
    int primo(int n){
    int aux, i, j = 0;
    for (i=2; i < n && j == 0; i++){
    aux = n % i;
    if (aux == 0){
    j = 1;
    }
    }
    return j;
    }

  • @carlossantaella139
    @carlossantaella139 8 ปีที่แล้ว +2

    hay un error en tu codigo que si introduces 1 te va salir primo hay que poner 2 condicionales mas.

  • @leandro198511
    @leandro198511 6 ปีที่แล้ว

    se podría haber hecho una funcion que le mandes el valor y tenga los if/else e imprima lo q corresponda... y la llamas con x primero y con y luego no?

  • @luismiguelveragaleana1602
    @luismiguelveragaleana1602 8 ปีที่แล้ว

    Buenas tardes.
    Lo hice y me salió, pero al transcribir el código, tal y como lo tienes tú, me da esto "too-many-arguments-to-function". Si puedes resolverme lo que pueda ser gracias.

  • @albaeivanp7493
    @albaeivanp7493 4 ปีที่แล้ว

    te quiero

  • @quierojugaralaionlpm
    @quierojugaralaionlpm 9 ปีที่แล้ว

    Si quiero, por diversión, encontrar el factorial de un numero relativamente grande (80), qué variable utilizo para que el resultado no aparezca como "0" o un numero negativo?

    • @sassukedark
      @sassukedark 9 ปีที่แล้ว

      Pudes cambiar a una función y variable tipo float también pides poner double si necesitas más espacio

  • @Alexis-vy6yw
    @Alexis-vy6yw 2 ปีที่แล้ว

    Hay que decir que si ponemos 25 o cualquier divisor por ese numero nos aparece como primo ya que cumple con ser divisible por 2. aunque no debería de ser así. (aclaro, yo copie el codigo tal cual)

    • @Alexis-vy6yw
      @Alexis-vy6yw 2 ปีที่แล้ว

      No, fallo mio. Puse el return antes de lo debido. Lo agregue despues del if perteneciente a for, deberia de ponerse despues del bucle.

  • @gonzaga2079
    @gonzaga2079 7 ปีที่แล้ว

    Gracias pro los videos, estaba intentando hacer los ejercicios q dejo en el pdf, queria saber porque me sigue dando un numero entero si es que declaro como flotante las variables=? gracias, dejo codigo:
    //Calcular el perimetro, area y volumen en funcion del radio
    #include
    int main(){
    int x, y;
    float p, a, v;
    printf("Introduzca el numero que corresponde a la funcion q desea realizar:
    1->PERIMETRO, 2->AREA, 3->VOLUMEN:
    ");
    scanf("%i",&x);
    printf("Introduzca el radio:
    ");
    scanf("%i",&y);
    switch(x){
    case 1: p=per(y); printf("El perimetro es %f
    ",p); break;
    case 2: a=area(y); printf("El area es %f
    ",a); break;
    case 3: v= vol(y); printf("El Volumen es %f
    ",v); break;
    default: printf("El Numero no es correcto
    ");
    }
    system ("pause");
    return 0;
    }
    int per(int a){
    float per;
    per=2*a*3.14159;
    return per;
    }
    int area(int a){
    float area;
    area=a*a*3.14159;
    return area;
    }
    int vol(int a){
    float vol;
    vol=4*a*a*a*3.14159/3;
    return vol;
    }

  • @terrorhd3523
    @terrorhd3523 8 ปีที่แล้ว

    Alguien me podria decir porque me sale error en mi código?? Ya lo revise varias veces, vi si estaba guardado en .c y todo esta correcto
    //Calcular el factorial de 2 numeros con una funcion
    #include
    int factorial(int a);
    int main (){
    int x, y, fact1, fact2;
    printf ("Introduzca un numero para buscar su factorial: ");
    scanf ("%i",&x);
    printf ("Introduzca otro numero para buscar su factorial: ");
    scanf ("%i",&y);
    fact1 = factorial (x);
    fact2 = factorial (y);
    printf ("El resultado del factorial de x es %i.

    ",fact1);
    printf ("El resultado del factorial de y es %i.

    ",fact2);
    system ("pause");
    return 0;
    }
    int factorial (int a){
    int i, aux;
    aux = 1;
    for (i = 1; i

  • @luisalfredodelaossadiaz5989
    @luisalfredodelaossadiaz5989 8 ปีที่แล้ว +1

    TA PRO :) COPIENLO, NO LO E VISTO EN INTERNET PERO CRANEE PARA HACERLO :)
    SI PRECIONAS UNA TECLA DIFERENTE MIRA LO QUE PASA....
    ----------------------------------------------------------------------------------------------------------------------------------------------
    #include
    using namespace std;
    int formulas(int x);
    int inicio();
    int quest();
    int main (){
    inicio();
    return 0;
    }
    int inicio () {
    int a,b,res1,res2;
    char resq;
    couta;
    coutb;
    res1 = formulas(a);
    res2 = formulas(b);
    if (res1==1){
    cout

    • @luisalfredodelaossadiaz5989
      @luisalfredodelaossadiaz5989 8 ปีที่แล้ว +1

      DEBEN GUARDARLO EN LA EXTENCION .cpp , SI FUNCIONARÁ , "me gusta explorar otras opciones y no quedarme con una opción..."
      Saludos.

  • @Malakakill
    @Malakakill 8 ปีที่แล้ว +1

    Hola , el parametro en la llamada del subprograma se puede declarar abajo y que relacion tiene con las demas variables?

  • @joaspuga9616
    @joaspuga9616 9 ปีที่แล้ว

    Disculpa tengo una duda lo hice así y me funciono pero es diferente al tuyo no se si esta bien como lo hice o estoy usando las funciones equivocadomente (No con el fin que debería tener).
    #include
    int factorial ();
    int main () {
    int x,y,i;
    factorial ();
    system ("pause");
    return 0;
    }
    int factorial (int a, int b, int i) {
    printf ("Introduce el primer numero para obtener su factorial: ");
    scanf ("%i",&a);
    b=1;
    for (i=1;i

  • @Filosofo21inter
    @Filosofo21inter 9 ปีที่แล้ว +1

    No entiendo lo de aux*=1 he revisado el anterior video de factorial y no utilizas eso, podrías explicarme por encima lo que hace? o significa? Saludos y gracias

    • @EmpiezaAProgramar
      @EmpiezaAProgramar  9 ปีที่แล้ว

      +Chema Martínez Tienes que empezar desde el primer video y lo entenderás.
      Un saludo.

    • @lantiguav
      @lantiguav 9 ปีที่แล้ว +1

      +Chema Martínez aux*=I es exactamente lo mismo que aux = aux*I

    • @carlossantaella139
      @carlossantaella139 8 ปีที่แล้ว

      +Chema Cuesta amig@ eso el la abreviacion de aux = aux * 1 igual puedes hacer los mismo con los demas signos espero haberte ayudado a despejar tu duda

  • @daianarey2243
    @daianarey2243 9 ปีที่แล้ว +1

    en todos los ejercicios de funciones me aparece el error
    [Error] too many arguments to function 'int factorial()'
    les copie un codigo sencillo como para que puedan mirarlo por favor si alguien me puede decir porque es.
    #include
    int factorial();
    int main(){
    int x,y,fac1;
    printf("Ingrese el primer numero para calcular el factorial");
    scanf("%i",&x);
    fac1=factorial(x);
    return 0;
    }
    int factorial(int a){
    int i,aux;
    aux=1;
    for(i=1;i>a;i++){
    aux*=i;
    }

    return aux;
    }

    • @leolopez6986
      @leolopez6986 9 ปีที่แล้ว

      Daiana Rey Compilando y ejecutando tu codigo, es que no estas imprimiendo el resultado de la variable fac1, y en la funcion en lugar de se i>a es i

  • @corajeynobleza1521
    @corajeynobleza1521 8 ปีที่แล้ว

    Alguien sabe hacer esto :
    -Escribir un programa que pida al usuario dos vectores cuyo tamaño es N=30. Estos vectores se pasarán a la función cambia que intercambiará el valor máximo del primer vector con el mínimo del segundo. Por ejemplo, si N=4, v1=[-1,3,3,2] y v2=[-5,-5,-5,1] los vectores intercambiados son v1=[-1,-5,-5,2] y v2=[3,3,3,1] Imprime los vectores intercambiados en el programa principal

  • @mw3ki215
    @mw3ki215 8 ปีที่แล้ว

    Aun no he visto el vídeo y seguro que me sobra código, pero funciona.
    #include
    int primos();
    int main(){
    int x,y,aux1,aux2;
    aux1=0;
    aux2=0;
    printf("Introduce el primer numero: ");
    scanf("%i",&x);
    printf("Introduce el segundo numero: ");
    scanf("%i",&y);
    aux1=primos(x);
    aux2=primos(y);
    if (aux1>0){
    printf("El numero %i es PRIMO.
    ",x);
    }
    else{
    printf("El numero %i NO ES PRIMO.
    ",x);
    }

    if (aux2>0){
    printf("El numero %i es PRIMO.
    ",y);
    }
    else{
    printf("El numero %i NO ES PRIMO.
    ",y);
    }

    system("pause");
    return 0;
    }
    int primos(int p){
    int i,k,aux,auxx,inter;
    k=0;
    auxx=0;
    for (i=2;i

  • @davidaz1326
    @davidaz1326 10 ปีที่แล้ว

    Hola, sabrias porque al ejecutar el programa, el mismo deja de funcionar?

    • @sassukedark
      @sassukedark 9 ปีที่แล้ว

      Si aparece nombredelprograma.exe dejo de funcionar, muy probablemente te falto un & en uno de los scanf

  • @lautaroasat3690
    @lautaroasat3690 4 ปีที่แล้ว

    //Comprobar si dos numeros son Primos con 1 funcion
    #include
    int primos();
    int main(){
    int x,y;
    printf("digite el primer valor a comprobar:"); scanf("%i",&x);
    printf("digite el segundo valor a comprobar:"); scanf("%i",&y);
    primos(x);

    primos(y);



    return 0;
    }
    int primos(int a){ //comprobacion
    int i,cont;
    i=1;
    cont=0;
    while(i

  • @gustavoluconi8259
    @gustavoluconi8259 4 ปีที่แล้ว

    Hola yo directamente puse los printf en la función y me resultó, li que no me queda claro y por favor que alguien me explique, es que no puedo dar con los resultados de 1 y 2 ya que 1 no es primo y 2 si lo es!! Me gustaría que me aclararan esto, muchas gracias y muy buenos los videos!!!, creo que lo soluciones acá, dejo mi codigo
    #include
    int primo(int a);
    int main(){

    int x, y, prim1, prim2;
    printf("Introduce el primer numero a verificar si es primo: ");
    scanf("%i",&x);
    printf("Inroduce el segundo numero a verificar si es primo: ");
    scanf("%i",&y);
    prim1 = primo(x);
    prim2 = primo(y);

    system ("pause");
    return 0;
    }
    int primo(int a){
    int i, m, pri, res;
    m = 0;
    for(i=2; i < a && m == 0 ; i++){
    res = a % i;
    if (res == 0){
    m = 1;
    }
    }
    if (m == 1 || a == 1){
    printf("El numero %i.....NO es primo

    ",a);
    }
    else{
    printf("El numero %i.....ES primo

    ",a);
    }
    return (pri);
    }
    jajaja fue la forma que se me ocurrió ya que al ser i igual a 2 y menor que 1 tenia problemas!!!! saludos

  • @isaiasloaiza6856
    @isaiasloaiza6856 6 ปีที่แล้ว

    una pregunta amigos, como se cuando debo colocar por ejemplo, una variable que j=1 o j==1, cual es la diferencia entre decir q j es igual a 1 y decir que es ==

    • @riosvillmat9203
      @riosvillmat9203 6 ปีที่แล้ว

      j=1 esta es una asignación lo que quiere decir es que j ahora vale 1
      j==1 es una comparación pero j no tiene que valer 1 puede valer otro numero o incluso un carácter.
      ejemplo
      if(j=1) si tu pones esto siempre seria verdadera y entraría.
      if(j==1) si tu pones esto solo entraría si j vale 1 en caso contrario no entraría.
      lo mismo pasaría con un for o un while o un esle if

  • @feriasTopG
    @feriasTopG 7 ปีที่แล้ว +1

    amigo en el if de prim1 iva 1

  • @rubenhernan8082
    @rubenhernan8082 10 ปีที่แล้ว

    Buenos dias, tengo una duda, cuando pruebo un numero mayor a 16 me sale negativo y he revisado el codigo con tu video y lo tengo igual. A demás aveces no ocurre o son con numeros mayores. Sabrias porque ocurre?
    #include
    int factorial (int a);
    int main () {
    int x, y, fact1, fact2;
    printf ("Introduce el primer numero para saber su factorial: ");
    scanf ("%i", &x);
    printf ("Introduce el segundo numero para saber su factorial: ");
    scanf ("%i", &y);
    fact1= factorial (x);
    fact2 = factorial (y);
    printf ("El resultado del factorial es: %i
    ",fact1);
    printf ("El resultado del factorial es: %i
    ",fact2);
    system ("pause");
    return 0;
    }
    int factorial (int a) {
    int i, aux;
    aux = 1;
    for (i = 1; i

    • @EmpiezaAProgramar
      @EmpiezaAProgramar  10 ปีที่แล้ว +1

      Ruben Hernan Buenas, cuando tengas este tipo de problemas, hay que pasarle el depurador al codigo, por esta razon enseñe el uso del depurador en el bloque 3, veras lo facil que te resulta encontrar el problema usando esta herramienta.
      Un saludo.

    • @rubenhernan8082
      @rubenhernan8082 10 ปีที่แล้ว

      Empieza A Programar
      Muchas gracias, la verdad es que no habia pensado en depurarlo y ya encontre (o supongo que lo encontré) el fallo, y es que int solo llega a un número, a partir de ahí se multiplica en negativo, pero también he probado con double (se me sale en seguida que entra en el bucle) y float sigue dandome negativo. Sabes que variable se podria declarar para que no llegue a multiplicar en negativo?

    • @EmpiezaAProgramar
      @EmpiezaAProgramar  10 ปีที่แล้ว

      Ruben Hernan Si le metes un numero pequeño y te sale el mismo resultado que a mano, el programa esta bien, no necesitas numeros grandes. Si en cambio no te sale que el factorial de 5 es 120 (creo que era ese) pues lo tienes mal y tienes que pasarle el depurador para buscar donde se encuentra tu fallo.
      Un saludo.

    • @rubenhernan8082
      @rubenhernan8082 10 ปีที่แล้ว

      Empieza A Programar
      Si, si le meto por ejemplo el 5 me sale el resultado correcto, era simple curiosidad porque a partir de "x" numero me comenzaba a dar negativo, pero bueno no es tan importante, continuaré con los videos.
      Muchas gracias por las respuestas y un 10 tus tutoriales!

  • @emilybasantes166
    @emilybasantes166 4 ปีที่แล้ว

    gracias me ha ayudado bastante, pero me confunde esa parte en la que agregaste una nueva variable j, cuando es un numero primo?, cuando es 0 o 1? eso me tiene confuza pues yo nunca hubiera llegado a esa conclusion

  • @sassukedark
    @sassukedark 9 ปีที่แล้ว

    Hola buen dia, para empezar excelentes vídeos y muy ilustrativos, bueno yo tengo una duda, si alguien me la puede responder, al dar en depurar y ejecutar me da un resultado que no debe, es mas no imprime lo que yo indique lo raro es que el programa que se ejecuta es capaz de determinar si un número es primo pero solo uno, al poner en depurar y tratar de hayar el error, resulta que ahí si se ejecuta a la perfección mi programa originalmente era un programa diferente paro sacarme de errores pero resulta en la misma cuestión eso si el programa que se ejecuta sigue siendo el mismo

    • @sassukedark
      @sassukedark 9 ปีที่แล้ว

      Perdón es al dar en compilar y ejecutar, y al poner el código de ejemplo del vídeo sigue dando lo mismo pero el problema es el mismo y gracias de antemano por la ayuda que me puedan brindar

  • @FranInMagna
    @FranInMagna 9 ปีที่แล้ว

    perdona, la ruta de escape z==0 es incorrecta no?, es que lo correcto seria que el bucle se sucediese mientras z es decir aux sea distinto de 0, y por ello cuando aux es 0 z es 1 por tanto la ruta de escape debe de ser z!=1 ademas en tu video anterior de primo en rutas de escape lo pones como yo propongo.gracias un saludo

  • @FranciscoJaramilloAguilar
    @FranciscoJaramilloAguilar 9 ปีที่แล้ว

    hola hice este código pero no me pone cero en las salida, por qué?
    #include
    #include
    #include
    using namespace std;
    int factorial (int a);
    main()
    {
    int x, y, fact1, fact2;
    cout x;
    cout y;
    fact1 = factorial(x);
    fact2 = factorial(y);
    cout

    • @MrBenjairo
      @MrBenjairo 9 ปีที่แล้ว

      Hola francisco yo compile tu codigo en linux con g++ y si me compila y me da cero de salida

    • @FranciscoJaramilloAguilar
      @FranciscoJaramilloAguilar 9 ปีที่แล้ว

      Hola Benjamin, así es daba cero ya que en el return de la función debe ser return aux y no return 0;

  • @eliasmartinez530
    @eliasmartinez530 7 ปีที่แล้ว

    se podia utilizar otra funcion para los if del main

  • @eljuli7974
    @eljuli7974 9 ปีที่แล้ว

    No me funciona el depurador que puedo hacer?

    • @sassukedark
      @sassukedark 9 ปีที่แล้ว

      Ve a opciones del compilador, busca una opción que diga linker y al dar ahí selecciona que si quieres que dev c++ enlace la información del código al depuradorar

  • @carlossantaella139
    @carlossantaella139 8 ปีที่แล้ว

    eres un exelente profesor haces maravillosas explicaciones pero en el video 4.1 me decepcionastes jajajaj

  • @edkaem259
    @edkaem259 8 ปีที่แล้ว

    #include
    int factorial(int a, int b);
    int main (){
    int x, y;
    facorial(x, y);
    system ("pause");
    return 0;
    }
    int factorial (int a, int b){
    int fact1, fact2, i, j;
    printf ("Introdusca un numero para calcular su factorial: ");
    scanf ("%i",&a);
    printf ("Introdusca otro numero para calcular su factorial: ");
    scanf ("%i",&b);
    fact1 = 1;
    fact2 = 1;
    for (i = 1; i

    • @edkaem259
      @edkaem259 8 ปีที่แล้ว

      +SuperShane96 Aunque me costo un poco entender, ya entendí tu código, pero no hay función auxiliar, a eso me refería, gracias por responder, saludos.

  • @patricio1989
    @patricio1989 8 ปีที่แล้ว

    Supongo que era más fácil poner un sólo printf en la función primo...

  • @eaomorsa
    @eaomorsa 6 ปีที่แล้ว

    La definición de numero primo utilizada aquí esta mal!

  •  9 ปีที่แล้ว

    No he visto totalmente la solución pero creo que mi código es más corto:
    //Comprobar si dos números diferentes son primos con una función.
    #include
    #include
    int primo ();
    int main(){
    int x, y,prim1,prim2,p=0;
    while (p

    • @LionsLite
      @LionsLite 9 ปีที่แล้ว

      +Joan Joel Cáceres Ramírez sip pero el no usa math.h por eso el tuyo es mas corto , siempre veo que usas math en tus codigos . La mayoria xP

  • @nicolasronchetti6243
    @nicolasronchetti6243 10 ปีที่แล้ว

    Tengo un problema, hice todo bien, pero siempre me dice que el número no es primo, sea cual sea, éste es el código:
    //comprobar si dos numeros diferentes son primos en una funcion
    #include
    int primo (int a);
    int main () {
    int x,y,prim1,prim2;
    printf ("Introduce el primer numero: ");
    scanf ("%i",&x);
    printf ("Introduce el segundo numero: ");
    scanf ("%i",&y);
    prim1 = primo (x);
    prim2 = primo (y);
    if (prim1 == 0){
    printf ("En numero %i es primo.
    ",x);
    }
    else {
    printf ("En numero %i no es primo.
    ",x);
    }
    if (prim2 == 0){
    printf ("En numero %i es primo.
    ",y);
    }
    else {
    printf ("En numero %i no es primo.
    ",y);
    }
    system ("pause");
    return 0;
    }
    int primo (int a){
    int i,j,aux;
    j = 0;
    for (i = 2; 1 < a && j == 0; i++){
    aux = a % i;
    if (aux == 0){
    j = 1;
    }
    }
    return j;
    }
    Desde ya, muchas gracias C:

    • @EmpiezaAProgramar
      @EmpiezaAProgramar  10 ปีที่แล้ว

      Malreycu tu funcion de primo esta mal, vuelve al video donde explico como se hace y o revisala.
      En el futuro cuando tengas errores de este tipo usa el depurador, que para este tipo de casos existe y es realmente util.
      Un saludo.

    • @nicolasronchetti6243
      @nicolasronchetti6243 10 ปีที่แล้ว

      Ya lo solucioné!! Gracias!! Y sí, el depurador es de lo mejor, estoy aprendiendo a usarlo como se debe. Había puesto mal una variable, ya me estaba volviendo loco. XD

  • @jordimorosbadenes2961
    @jordimorosbadenes2961 7 ปีที่แล้ว

    #include
    int primos (int a);
    int main (){
    int x, y, primo1, primo2;
    printf ("Introduce el primer numero para realizar la comprobacion: ");
    scanf ("%i",&x);
    printf ("Introduce el segundo numero para realizar la comprobacion: ");
    scanf ("%i",&y);
    primo1= primos (x);
    primo2= primos (y);
    if (primo1==1){
    printf ("El primer numero (el %i) SI es primo.
    ",x);
    }
    else{
    printf ("El primer numero (el %i) NO es primo.
    ",x);
    }

    if (primo2==1){
    printf ("El segundo numero (el %i) SI es primo.
    ",y);
    }
    else{
    printf ("El segundo numero (el %i) NO es primo.
    ",y);
    }

    system ("pause");
    return 0;
    }
    int primos (int a){
    int j,i,n;
    j=0;
    for (i=2;i

  • @ale100197
    @ale100197 9 ปีที่แล้ว

    Alguien me puede explicar
    if(prim1==0) {
    printf("El numero %i es primo
    ",x);
    }
    else {
    printf("El numero %i NO es primo
    ",x)
    }
    por que prim1==0 el numero es primo?

    • @EmpiezaAProgramar
      @EmpiezaAProgramar  9 ปีที่แล้ว +3

      alejandro reyes No seria mas facil que te vieras los videos anteriores?

    • @carlossantaella139
      @carlossantaella139 8 ปีที่แล้ว

      +alejandro reyes amigo si te das cuenta en la funcion que hizo el llamada int primo hay un bucle llamado for si analisas ese bucle te daras cuenta el por que el puso ese condicional

  • @floresperanza19
    @floresperanza19 10 ปีที่แล้ว

    Empieza A Programar disculpa no seria esto el codigo si j!=1 entraria al bucle y si no cumple sale del bucle
    int primo(int a){
    int aux,j,i;
    j=0;
    for(i=2;i

  • @OOscarBC
    @OOscarBC 6 ปีที่แล้ว

    Yo lo hice asi:
    #include
    #include
    /* primo O no primo */
    int primo(int a);
    int main() {

    int x, y;

    printf("introduce primer numero:
    ");
    scanf("%i", &x);

    printf("introdfuce segundo numero:
    ");
    scanf("%i", &y);

    primo (x);
    primo (y);

    return 0;
    }
    int primo(int a){
    int i;
    int r = 1;

    for(i=2; i

  • @franciscolantiguarodriguez308
    @franciscolantiguarodriguez308 3 ปีที่แล้ว

    #include
    #include
    int primos (int a);
    int main()
    {
    int x,y,primo1,primo2;
    printf("Escribe el primer numero:");
    scanf("%i",&x);
    printf("Escribe el primer numero:");
    scanf("%i",&y);
    primo1 = primos (x);
    primo2 = primos (y);
    return 0;
    }
    int primos (int a){
    int cont,aux,i;
    for(i=1;i 2){
    printf("El numero %i no es primo
    ",a);
    }
    else {
    printf("El numero %i es primo
    ",a);
    }
    return 0;
    }

  • @marianoandreshorianski162
    @marianoandreshorianski162 7 ปีที่แล้ว

    Pongo lo que sea y siempre me dice que NO es primo, aunque ponga, por ejemplo, 10, ayudenme:
    //Comprobar si 2 numeros distintos son primos con una funcion
    #include
    int calculo();
    int main(){
    int x, y, aux1, aux2;
    printf("Escribir un numero: ");
    scanf("%i",&x);
    do{
    printf("Escribir un numero distinto al anterior: ");
    scanf("%i",&y);
    }while(y == x);
    aux2 = calculo(y);
    aux1 = calculo(x);
    if(aux1 = 0){
    printf("%i es primo
    ",x);
    }
    else{
    printf("%i NO es primo
    ",x);
    }
    if(aux2 = 0){
    printf("%i es primo
    ",y);
    }
    else{
    printf("%i NO es primo
    ",y);
    }
    system("pause");
    return 0;
    }
    int calculo(int a){
    int i, aux, j;
    j = 0;
    for(i = 2; i < a && j == 0; i++){
    aux = a %i;
    if(aux == 0){
    j = 1;
    }
    }
    return j;
    }

    • @gonzaga2079
      @gonzaga2079 7 ปีที่แล้ว

      Tu problema esta en los if, deberia ser if(aux==0), aunque no parezca los dos == son importantes

    • @marianoandreshorianski162
      @marianoandreshorianski162 7 ปีที่แล้ว

      Gracias, crei que los habia puesto

  • @10meloalan
    @10meloalan 7 ปีที่แล้ว

    creo que tienes un error por que los factoriales son numeros muy grandes y debes poner un float.

  • @ramonexposito7605
    @ramonexposito7605 9 ปีที่แล้ว

    quien me pude dar una ayuda en este ejercicio. necesito poner la suma de todos los numeros pares lo consigo hacer pero va sumando por cada numero par. yo quiero que salga la suma al final de la muestra de todos el conjunto de numeros par.
    //14.- Realiza un programa que imprima la suma de los números pares entre dos y mil.
    int main(){
    int x,y,contador,sumapar;
    sumapar=0;
    printf("ingrese numero x:");
    scanf("%i",&x);
    printf("ingrese numero y:");
    scanf("%i",&y);
    for(contador=x;contador

  • @dani.srrrano
    @dani.srrrano ปีที่แล้ว

    Si pruebas con los números: 100, 200, 300... y los pones dos veces, te sale uno primo y otro que no es primo JAJAJAJAJ

  • @andresrhenals355
    @andresrhenals355 7 ปีที่แล้ว

    no me funcionó

  • @FranInMagna
    @FranInMagna 9 ปีที่แล้ว

    perdona cambia z por j.

  • @pedror.l.1743
    @pedror.l.1743 8 ปีที่แล้ว

    No incluiste el numero 2 en el caso de los primos, estaria mal, de nada.