-->

Programación en C: Arreglos Suma, Multiplicación y Cubo (arrays)

arrays: suma y multiplicación

Para la universidad Fermín Toro, hemos creado un programa en lenguaje C, que debe cumplir con las siguientes especificaciones:

Dado dos arreglos de números enteros, el primero con una dimensión de 5 y el segundo de 10, se desea imprimir la multiplicación de ellos. Para que el arreglo de 10 dimensiones tenga el mismo tamaño que el primero, es decir, 5 posiciones, se modificará de la siguiente manera: sume cada 2 posiciones continuas para que se obtengan sólo 5 resultados y así poderlo multiplicar con el primer arreglo.


Tabla de contenido:


Para la resolución, primero insertamos las librerías:


#include <stdio.h>
#include <conio.h>

Ahora, el ejercicio dice que "dados dos arreglos, con números enteros", es decir, que el programador, tiene el conocimiento de dichos números, así se hace necesario inicializar ambos arreglos, con los valores respectivos:


int arre1[5]= {0,1,2,3,4}; //arreglo 1 con valores dados
int arre2[10] = {0,1,2,3,4,5,6,7,8,9}; //arreglo 2 con valores dados


Para dar respuesta, debemos tener un arreglo que guarde la suma, por lo que este arreglo sólo tendrá 5 elementos, y debe ser inicializado en cero. Además, crear otro arreglo, que guardará el resultado de la suma y la multiplicación. Es importante señalar, que crearemos 3 variables para manejar cada uno de los arreglos mencionados:

int i; //marcador de posición del tercer arreglos
int j; //marcador de posición del segundo arreglo
int e;
int arre3[5] ;//arreglo resultante de la multiplicación del arreglo 1 con la suma (el primero mas el segundo valor) del arreglo 2
int suma[5] ; //es el arreglo resultante del arreglo 2 dos ya sumado
void multiplicacion(); //método para multiplicar el arreglo 1 con el arreglo 2
void sum(); //método que suma dentro del mismo arreglo el primer elemento con el segundo
void imprimir(); //método para imprimir el resultado al usuario

Nuestro main o principal es muy sencillo, ya que sólo tendrá el orden en que aparecerán los procesos, que hemos descrito anteriormente.

main()
{
clrscr();
sum();
multiplicacion();
imprimir();
getch();
return 0;
}
La parte en donde se presenta confusión es en la suma de los elementos de un mismo arreglo. Trataré de explicarlo de una manera sencilla. La suma, siempre será entre un elemento par y otro elemento impar. Sin embargo, como los elementos son los primeros números enteros, lo podemos definir directamente en el arreglo, así:



void sum()
{
for (j=0; j<=4; j++)
{
suma[j] =(arre2[j] + arre2[j]+ 1) + (arre2[j] + arre2[j]) ;
} return;
}

La primera parte de la suma se refiere a los elementos impares del arreglo y la segunda parte, a los elementos pares del arreglo. Pueden verificar manualmente, que efectivamente estamos sumando el primer elemento con el segundo. Cada resultado, es guardado en otro arreglo. Se detiene el ciclo for en 4 porque el arreglo resultante es de 5 elementos.



void multiplicacion(){
for (e=0; e<=4; e++)
{ arre3[e]= arre1[e] * suma[e];
} return;
}

El arreglo 3 ya será el resultado, de la multiplicación del arreglo 1 mas la suma del arreglo 2.
Para mostrar el resultado, imprimimos el arreglo 3:



void imprimir()
{
clrscr();
printf("El resultado de la multiplicacion del arreglo nro 1\n");
printf("mas la suma del primer elemento con el segundo del \n");
printf("arreglo nro 2, es: \n");
for (i=0; i<=4; i++)
{
printf("%d\n", arre3[i]);
}
return;
}
Y ya tenemos listo nuestro arreglo.


arreglos: sumas y multiplicación

En el ejercicio anterior, trabajamos el siguiente enunciado: dado dos arreglos de números enteros, el primero con una dimensión de 5 y el segundo de 10, se desea imprimir la multiplicación de ellos. Para que el arreglo de 10 dimensiones tenga el mismo tamaño que el primero, es decir, 5 posiciones, se modificará de la siguiente manera: sume cada 2 posiciones continuas para que se obtengan sólo 5 resultados y así poderlo multiplicar con el primer arreglo. Pero ahora bien, en el caso en que los arreglos sean ingresados por el usuario, ¿cómo haríamos para resolver el ejercicio?
int arre1[5]= {0,0,0,0,0}; //arreglo 1 con valores dados
int arre2[10] = {0,0,0,0,0,0,0,0,0,0}; //arreglo 2 con valores dados

Vamos a crear dos variables nuevas, que indicarán la posición, se utilizarán al momento de sumar el primer elemento con el segundo elemento del arreglo dos.
int a; //variable posicion para el segundo arreglo
int b; //variable posicion para el segundo arreglo
Evidentemente vamos a crear dos métodos para pedir el llenado de los arreglos.
void pedirdatosarre1();
void pedirdatosarre2();
El orden del main, se alterará, puesto que vamos a solicitar los datos al usuario antes de ejecutar la suma y multiplicación.
main()
{
clrscr();
pedirdatosarre1();
pedirdatosarre2();
sum();
multiplicacion();
imprimir();
getch();
return 0;
}

Los métodos para pedir los datos del arreglo se hacen con un for, para evitar confundir al usuario, así sabrá cuantos elementos lleva cada arreglo y su posición:
void pedirdatosarre1()
{
clrscr();
for (e =0; e<=4; e++)
{
printf("Inserte el elemento nro %d del primer arreglo: \n", e);
scanf("%d",&arre1[e]);
}
}

void pedirdatosarre2()
{
clrscr();
for (j =0; j<=9; j++)
{
printf("Inserte el elemento nro %d del segundo arreglo: \n", j);
scanf("%d",&arre2[j]);
}
}


Y por último, las variables que habíamos declarado al principio, servirán para indicar la posición a la que deseamos accesar en la suma, la variable a es para los números impares y la variable b es para los números pares:
void sum()
{
for (j=0; j<=4; j++)
{
a = j + j + 1;
b = j + j;
suma[j] =(arre2[a] + arre2[b]);
}
}
Si ejecutan el programa y le dan unos valores de prueba, verán como efectivamente cumple con los requerimientos. Así que, a practicar!

Crear una función que se llame: cubos, en donde se pase como parámetro un arreglo unidimensional de 10 elementos enteros, dicha función debe calcular el cubo de cada uno de los elementos del arreglo y mostrarlos en pantalla.

Este ejercicio es similar al anterior. Debemos en primer lugar saber que un cubo de un número, es el mismo número multiplicado 3 veces por sí mismo. Esto quiere decir, que cada elemento del arreglo debe ser multiplicado por sí mismo 3 veces.

Pasos para resolver el ejercicio:
  • Incluir las librerías studio y conio.
  • Declarar la variable que será utilizada para mover la ubicación de un elemento dentro del arreglo.
  • Declarar el arreglo con los elementos a los cuales se les calculará el cubo. Los elementos deben ser números enteros.
  • Declarar el arreglo donde se almacenará la respuesta del cálculo.
  • Crear la función cubo y la función imprimir.
  • En el main, ordenadamente colocamos la función cubo y luego imprimir. Puesto, que primero debe realizar el cálculo que posteriormente va a mostrar.
  • En la función cubo se debe inicializar un contador para poder determinar el momento en que el arreglo ha sido recorrido en totalidad. Y dentro, realizar el cálculo del cubo.
  • En la función imprimir también se requiere el contador. Y vamos a imprimir en la misma línea el número del arreglo al cual se le va a calcular el cubo y su resultado.
El código es el siguiente:

Related Posts

Publicar un comentario

Subscribe Our Newsletter