lectura de

Ejercicios de funciones y arreglos.

Ejercicio 1: realizar un programa que pida al usuario un numero, y mostrar la tabla se sumar y multiplicar, hasta dicho numero. Dichas tablas deben ser creadas como funciones, y las tablas deben ser matrices. El numero ingresado debe ser mayor que 0 y menor o igual a 10


#include <stdio.h>
#include <stdlib.h>
#define MAX 11

void sumar(int matrix[][MAX], int n);
void mult(int matrix[][MAX], int n);

int main(void)
{
    int n;
    int matrix[MAX][MAX];
    printf("Ingrese un numero: ");
    do {
        scanf("%d", &n);
    }while(n < 1 || n > 10);
    sumar(matrix,n);
    printf("\n");
    mult(matrix,n);
    system("pause>nul");
    return 0;
}

void sumar(int matrix[][MAX], int n)
{
    int i,j;
    for(i = 0; i < = n; i++){
        for(j = 0; j <= n; j++){
            matrix[i][j]=i+j;
        }
    }
    for( i = 0; i <= n; i++){
        for(j = 0; j <= n; j++){
            printf("%4d", matrix[i][j]);
        }
        printf("\n");
    }
}

void mult(int matrix[][MAX], int n)
{
    int i,j;
    for(i = 1; i <= n; i++){
        for(j = 1; j <= n; j++){
            matrix[i][j]=i*j;
        }
    }
    for(i = 1; i <= n; i++){
        for(j = 1; j <= n; j++){
            printf("%4d", matrix[i][j]);
        }
        printf("\n");
    }
}

Ejercicio 2: Hacer un programa que de al usuario 2 opciones:

  1. Mediana
  2. Moda

luego pedir la cantidad de numeros, y luego que ingrese dichos numeros en un arreglo o vector. Luego como funciones calcular la operacion seleccionada.


#include <stdio.h>
#include <stdlib.h>

float mediana(float matrix[],int x);
void llenar(float matrix[],int x);
void show(float matrix[],int x);
float moda(float matrix[],int x);

int main(void)
{
    int menu, dim;
    printf("1 - Calcular Mediana\n2 - Calcular Moda\n");
    printf("Opcion: ");
    do{scanf("%d", &menu);}while(menu<1||menu>2);
    printf("Ingrese la cantidad de numeros: ");
    scanf("%d", &dim);
    float matrix[dim];
    llenar(matrix,dim);
    switch(menu){
        case(1):{printf("%.2f ", mediana(matrix,dim));}break;
        case(2):{printf("%.2f ", moda(matrix,dim));}break;
    }
    //show(matrix,dim);
    return 0;
}

void llenar(float matrix[], int x)
{
    int i, val;
    for(i=0;i<x;i++){
        printf("Ingrese el valor %d: ", i+1);
        scanf("%d", &val);
        matrix[i]=val;
    }
}

float mediana(float matrix[], int x)
{
    int i,j,aux;
    
    for(i = 0; i < x; i++){
        for(j = 0; j+1 < x-i; j++){
            if(matrix[j+1]>matrix[j]){
                aux=matrix[j];
                matrix[j]=matrix[j+1];
                matrix[j+1]=aux;
            }
            if(matrix[j+1]<matrix[j]){
                aux=matrix[j+1];
                matrix[j+1]=matrix[j];
                matrix[j]=aux;
            }
        }
    }
    if(x%2 != 0){
        return matrix[(x-1)/2];
    }else{
        return (matrix[(x-1)/2]+matrix[(x-1)/2+1])/2.0;
    }    
}

void show(float matrix[],int x)
{
    int i;
    for (i = 0; i < x; i++){
        printf("%f ", matrix[i]);
    }
}

float moda(float matrix[], int x)
{
    int i,j,count=0,max=0;
    float jeje;
    for(i = 0; i < x; i++){
        count=0;
        for(j = 0; j < (x-i); j++){
            if(matrix[j]==matrix[i]){
                count++;
            }
            if(count>max){
                max=count;
                jeje=matrix[i];
            }
        }
    }
    if(max!=1){
        return jeje;
    }else{
        return 0;
    }
}
Blog Logo

Juan Pablo Escalona G.


Publicado el

comments powered by Disqus
Image

JPEG {codes}

Códigos azarosos en múltiples lenguajes, JavaScript, Ruby, C, Python. Bienvenidos aquellos que quieran aprender.

Volver al inicio