Guia de Array
-
Upload
daniel-enrique-mejia-barahona -
Category
Documents
-
view
269 -
download
5
description
Transcript of Guia de Array
![Page 1: Guia de Array](https://reader035.fdocumento.com/reader035/viewer/2022071701/563db96c550346aa9a9d373e/html5/thumbnails/1.jpg)
Estructuras de datos. Programación en Visual C++.NET
UNIVERSIDAD DE ORIENTEFACULTAD DE ECONOMIA
GUIA DE EJERCICIOS #2.
ARREGLOS UNIDIMENSIONALES Y BIDIMENSIONALES.
ASIGNATURA: ESTRUCTURAS DE DATOS. FECHA: 24/07/2012.
ALUMNO/A: ___________________________________________________
1. Dado el nombre de una serie de estudiantes y las calificaciones
obtenidas en un examen, calcular e imprimir la calificación media así
como cada calificación y su diferencia con la media.
2. Se dispone de n temperaturas de un determinado lugar y se desea
calcular su media y determinar entre todas ellas cuáles son superiores
o iguales a esa media.
3. Escribir un programa que lea las dimensiones de una matriz, lea y
visualice la matriz y a continuación encuentre el mayor y menor
elemento de la matriz y sus posiciones.
4. Si Χ representa la media de los números x1, x2, …, xn, entonces la
varianza es la media de los cuadrados de las desviaciones de los
números de la media
Varianza = 1/n ∑(xi – x)2
Y la desviación estándar es la raíz cuadrada de la varianza. Escribir un
programa que lea una lista de números reales, los cuente y a
continuación calcule e imprima su media, varianza y desviación
estándar. Utilizar funciones para realizar estos cálculos.
5. Calcular las medias de notas de las asignaturas de una clase. Deducir
cuántas son más altas que la media y cuántas más bajas que dicha
media.
6. Una empresa tiene 10 almacenes y necesita crear un programa que
lea las ventas mensuales de los 10 almacenes. Calcule la media de
1
![Page 2: Guia de Array](https://reader035.fdocumento.com/reader035/viewer/2022071701/563db96c550346aa9a9d373e/html5/thumbnails/2.jpg)
Estructuras de datos. Programación en Visual C++.NET
ventas y obtenga un listado de los almacenes cuyas ventas mensuales
son superiores a la media.
7. Una matriz cuadrada A se dice que es simétrica si A(i,j) = A(j,i) para
todo i, j dentro de los límites de la matriz. Escribir un programa que
decida si una matriz dada es o no simétrica.
8. Leer una matriz de 3 por 3 elementos y calcular la suma de cada una
de sus filas y columnas, dejando dichos resultados en dos vectores,
uno la suma de filas y otro de las columnas.
9. Calcular la suma de los elementos de la diagonal principal de una
matriz cuatro por cuatro (4x4).
10. Hallar en un vector An, los valores mayores y menor con sus
respectivas posiciones.
11. Se introduce por teclado una secuencia de calificaciones de
estudiantes en un curso de estructura de datos. Escribir un programa
que obtenga e imprima los siguientes datos estadísticos: Media
aritmética y desviación típica.
12. Los resultados de las últimas elecciones a alcalde en el pueblo x
han sido los siguientes:
Distrito Cadidato Candidato Candidato Candidato
A B C D
1 194 48 206 45
2 180 20 320 16
3 221 90 140 20
4 432 50 821 14
5 820 61 946 18
Escribir un programa que haga las siguientes tareas:
a) Imprimir la tabla anterior con cabeceras incluidas.
b) Calcular e imprimir el número total de votos recibidos por cada
candidato y el porcentaje del total de votos emitidos. Así mismo,
visualizar el candidato más votado.
c) Si algún candidato recibe más del 50% de los datos, el programa
2
![Page 3: Guia de Array](https://reader035.fdocumento.com/reader035/viewer/2022071701/563db96c550346aa9a9d373e/html5/thumbnails/3.jpg)
Estructuras de datos. Programación en Visual C++.NET
imprimirá un mensaje declarándolo ganador.
d) Si ningún candidato recibe más del 50% de los datos, el programa
debe imprimir el nombre de los dos candidatos más votados, que
serán los que pasen a la segunda ronda de las elecciones.
13. La tabla siguiente representa las ventas totales hechas por
diferentes vendedores de una empresa, en miles de dólares a lo largo
de la semana.
VENDEDOR LUN MAR MIER JUE VIER
SAB
1 35 12 70 50 72 90
2 64 80 60 80 70 11
3 72 13 40 10 74 90
4 90 14 30 95 76 12
Escriba un programa que calcule e imprima lo siguiente:
a) La venta semanal de cada vendedor.
b) La mayor de estas ventas, y su vendedor correspondiente.
c) La venta total efectuada cada día por todos los vendedores.
d) La mayor de estas ventas, y el día correspondiente.
e) La venta semanal conjunta, de los cinco vendedores.
14. Una agencia de venta de vehículos automotores distribuye quince
modelos diferentes y tiene en su planilla diez vendedores. Se desea un
programa que escriba un informe mensual de las ventas por vendedor
y modelo, así como el número de automóviles vendidos por cada
vendedor y el número total de cada modelo vendido por los
vendedores. Así mismo, para entregar el premio al mejor vendedor,
necesita saber cuál es el vendedor que más coches ha vendido.
MODELOS
──────────────────────────────────────────────────────────────
VENDEDOR 1 2 3 ... 15
1 4 8 5 10
2 12 5 25 14
3
![Page 4: Guia de Array](https://reader035.fdocumento.com/reader035/viewer/2022071701/563db96c550346aa9a9d373e/html5/thumbnails/4.jpg)
Estructuras de datos. Programación en Visual C++.NET
3 15 3 18 7
.
.
15. Pedir dos matrices de m filas por n columnas y obtener una tercera
matriz que sea la suma de ambas. La suma de una matriz con otra
consiste en sumar cada uno de los elementos de una matriz con cada
uno de los elementos de la otra:
C(1,1) = a(1,1) + b(1,1),. . ., C(m,n) = a(m,n) + b(m,n).
16. Dadas dos matrices Amxh, Bhxn, calcular su producto Cmxn;
imprimiendo las tres matrices. Se sabe que:
C(i,j) = a(i,j) * b(i,j), i=1,2,...m, y j=1,1,..,n.
Solución al ejercicio #10.
// mayorymenor.cpp: define el punto de entrada de la aplicación de consola.// Ejercicio #10, guia #2
#include "stdafx.h"#include <iostream>#include <conio.h>#include <stdlib.h>#define n 100using namespace std;void lectura(int numeros[], int x);void calcular(int numeros[], int &mayor, int &menor, int x);void salida(int &mayor, int &menor);int _tmain(int argc, _TCHAR* argv[]){
int numeros[n];int k, mayor, menor;cout << "Cuantos numeros desea almacenar => ";cin >> k;lectura(numeros, k);
4
![Page 5: Guia de Array](https://reader035.fdocumento.com/reader035/viewer/2022071701/563db96c550346aa9a9d373e/html5/thumbnails/5.jpg)
Estructuras de datos. Programación en Visual C++.NET
calcular(numeros, mayor, menor, k);salida(mayor, menor);return 0;
}// Funcion de lectura del arreglovoid lectura(int numeros[], int x){
int i;for(i=0;i<x;i++){
cout << "ingrese un numero" << (i+1)<< "= ";cin >> numeros[i];
}return;
}void calcular(int numeros[], int &mayor, int &menor, int x){
int i;// Encontrando el mayor de los numerosmayor = numeros[0];for(i=1;i<x;i++){
if (numeros[i] > mayor)mayor = numeros[i];
}// Encontrando el menor de los numerosmenor = numeros[0];for(i=1;i<x;i++){
if (numeros[i] < menor)menor = numeros[i];
}return;
}// Definicion d ela funcion salidavoid salida(int &mayor, int &menor){
system("cls");
5
![Page 6: Guia de Array](https://reader035.fdocumento.com/reader035/viewer/2022071701/563db96c550346aa9a9d373e/html5/thumbnails/6.jpg)
Estructuras de datos. Programación en Visual C++.NET
cout << "el numero mayor es " << mayor << "\n";cout << "el numero menor es "<< menor << "\n";system("pause");return;
}
6
![Page 7: Guia de Array](https://reader035.fdocumento.com/reader035/viewer/2022071701/563db96c550346aa9a9d373e/html5/thumbnails/7.jpg)
Estructuras de datos. Programación en Visual C++.NET
Solución al ejercicio 13.
// ejer13_guia2.cpp: define el punto de entrada de la aplicación de consola.//
#include "stdafx.h"#include <iostream>#include <stdlib.h>#define m 10#define n 10using namespace std;void lectura(double ventas[][n], int x, int y);void calcular(double ventas[][n], double vvende[], double vdia[], double &vmayven,
double &vmaydia, int &vende, int &dia, double &vt,int x, int y);void salida(double &vmayven, double &vmaydia, int &vende, int &dia, double &vt);int _tmain(int argc, _TCHAR* argv[]){
double ventas[m][n], vvende[m], vdia[n];int k, l;double vmayven, vmaydia, vt=0; int vende, dia;cout << "Cuantos vendedores desea procesar? => ";cin >> k;cout << "Cuantos dias desea procesar? => ";cin >> l;lectura(ventas, k,l);calcular(ventas, vvende, vdia, vmayven, vmaydia,
vende, dia, vt, k, l);salida(vmayven, vmaydia, vende, dia, vt);return 0;
}// Definicon de la funcion lecturavoid lectura(double ventas[][n], int x, int y)
7
![Page 8: Guia de Array](https://reader035.fdocumento.com/reader035/viewer/2022071701/563db96c550346aa9a9d373e/html5/thumbnails/8.jpg)
Estructuras de datos. Programación en Visual C++.NET
{int i,j;for (i=0; i < x; i++){
for (j=0; j < y; j++){
cout << "Ventas[" << i << "," << j << "]= ";
cin >> ventas[i][j];}
}return;
}// Definicion de la funcion calcularvoid calcular(double ventas[][n], double vvende[], double vdia[], double &vmayven,
double &vmaydia, int &vende, int &dia, double &vt, int x, int y){
int i, j;double suma = 0;// Creando el arreglo ventas porvendedor=vvendefor (i=0; i < x; i++){
suma = 0;for (j=0; j < y; j++){
suma = suma + ventas[i][j];}vvende[i] = suma;vt = vt + suma;
}// Creando el arreglo ventas diairias = vdiafor (j=0; j < y; j++){
suma = 0;for (i=0; i < x; i++){
suma = suma + ventas[i][j];
8
![Page 9: Guia de Array](https://reader035.fdocumento.com/reader035/viewer/2022071701/563db96c550346aa9a9d373e/html5/thumbnails/9.jpg)
Estructuras de datos. Programación en Visual C++.NET
}vdia[j] = suma;
}// Calculando el vendedor que mas vendiovmayven = vvende[0];vende = 0;for (i=1; i < x; i++){
if (vvende[i] > vmayven){
vmayven = vvende[i];vende = i;
}}// Calculando el dia que mas se vendio y que dia
fuevmaydia = vdia[0];dia = 0;for (j=1; j < y; j++){
if (vdia[j] > vmaydia){
vmaydia = vdia[j];dia = j;
}}return;
}void salida(double &vmayven, double &vmaydia, int &vende, int &dia, double &vt){
system("cls");cout << "El valor de la venta mayor por vendedor
es => " << vmayven << endl;cout << "La posicion del vendedor que mas vendio
es => " << vende << endl;cout << "El valor de la venta mayor por dia es =>
" << vmaydia << endl;
9
![Page 10: Guia de Array](https://reader035.fdocumento.com/reader035/viewer/2022071701/563db96c550346aa9a9d373e/html5/thumbnails/10.jpg)
Estructuras de datos. Programación en Visual C++.NET
cout << "La posicion del dia que mas vendio es => " << dia << endl;
cout << "La venta total general es de => " << vt << endl;
system("pause");return;
}
10