viernes, 1 de marzo de 2019

Ejercicios resueltos en C. Preguntas de examen

A continuación, voy a poner dos preguntas de examen resuelto en C.

Ejercicio 1: Escribe un programa en C, que multiplique las columnas de una Matriz 3x3.



#include <stdio.h>

int *m0,*m1,*m2;

int Multiplica_Columnas_Matriz (int m[3][3], int f, int c);
int main () {
    int m[3][3]={10,20,30,40,50,60,70,80,90}; 
    int f, c;
    
    Multiplica_Columnas_Matriz (m,f,c);
    printf ("\n\nMultiplicacion es: %d\n",m0);
    printf ("Multiplicacion es: %d\n",m1);
    printf ("Multiplicacion es: %d\n",m2);
    return 0;
}

int Multiplica_Columnas_Matriz (int m[3][3], int f, int c) {
    int c0[3];
    int c1[3];
    int c2[3];
        
    printf ("[INFO] Matriz original: \n\n");
    for (f=0; f<3; f++) {
        for (c=0;c<3;c++) {
            printf ("%i ",m[f][c]);
        } printf ("\n");
    }
    
    for (f=0; f<3; f++) {
        for (c=0;c<3;c++) {
            if (c == 0)
                c0[f]=m[f][c];
            if (c == 1)
                c1[f]=m[f][c];
            if (c == 2)
                c2[f]=m[f][c];
        }
    }
    
    m0=c0[0]*c0[1]*c0[2];
    m1=c1[0]*c1[1]*c1[2];
    m2=c2[0]*c2[1]*c2[2];
    
}


Ejercicio 2: Escribe un programa en C, en el que al introducir un número, indique la suma de sus dígitos así como indicar los dígitos.
Ejemplo: Si el número es 123, los dígitos serás 1, 2 y 3 y la suma será = 6.




#include <stdio.h>
#include <stdlib.h>
 
int v[10];  

int sumaDigitos(int Num){
    
    int Suma=0, Resto=0, contador=0;
 
    while(Num!=0){
        Resto=(Num%10);
        Suma=(Suma+Resto);
        Num=(Num/10);
        v[0+contador]=Resto;
        contador++;
    }
 
    return (Suma);
 
}
 
int main(){
    
    int Num,i,dim;
    printf("Ingresa un Numero : ");
    scanf("%d",&Num);
    
    printf("------\n");
    printf("La suma de los digitos del numero [%d] es : %d\n",Num,sumaDigitos(Num));
    while (Num !=0) {
        Num=(Num/10);
        dim++;
    }
    for (i=0;i<dim-1;i++) {
        printf ("Digito %i es: %i \n",i+1,v[i]);
    }
    return 0;
}