Está en la página 1de 10

Estructuras de datos.

Programacin en Visual C++.NET

UNIVERSIDAD DE ORIENTE
FACULTAD 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 calificacin media as
como cada calificacin 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 cules 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 continuacin encuentre el mayor y menor
elemento de la matriz y sus posiciones.
4. Si representa la media de los nmeros x 1, x2, , xn, entonces la
varianza es la media de los cuadrados de las desviaciones de los
nmeros de la media
Varianza = 1/n (xi x)2
Y la desviacin estndar es la raz cuadrada de la varianza. Escribir un
programa que lea una lista de nmeros reales, los cuente y a
continuacin calcule e imprima su media, varianza y desviacin
estndar. Utilizar funciones para realizar estos clculos.
5. Calcular las medias de notas de las asignaturas de una clase. Deducir
cuntas son ms altas que la media y cuntas ms 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 ventas
1

Estructuras de datos.

Programacin en Visual C++.NET

y obtenga un listado de los almacenes cuyas ventas mensuales son


superiores a la media.
7. Una matriz cuadrada A se dice que es simtrica si A(i,j) = A(j,i) para
todo i, j dentro de los lmites de la matriz. Escribir un programa que
decida si una matriz dada es o no simtrica.
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 estadsticos: Media
aritmtica y desviacin tpica.
12.

Los resultados de las ltimas elecciones a alcalde en el pueblo x han

sido los siguientes:


Distrito Cadidato Candidato

Candidato Candidato

194

48

206

45

180

20

320

16

221

90

140

20

432

50

821

14

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 nmero total de votos recibidos por cada
candidato y el porcentaje del total de votos emitidos. As mismo,
visualizar el candidato ms votado.
c) Si algn candidato recibe ms del 50% de los datos, el programa
2

Estructuras de datos.

Programacin en Visual C++.NET

imprimir un mensaje declarndolo ganador.


d) Si ningn candidato recibe ms del 50% de los datos, el programa
debe imprimir el nombre de los dos candidatos ms votados, que
sern 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 dlares a lo largo


de la semana.
VENDEDOR LUN

MAR

MIER

JUE

VIER

SAB
1

35

12

70

50

72

90

64

80

60

80

70

11

72

13

40

10

74

90

90

14

30

95

76

12

Escriba un programa que calcule e imprima lo siguiente:

14.

a)

La venta semanal de cada vendedor.

b)

La mayor de estas ventas, y su vendedor correspondiente.

c)

La venta total efectuada cada da por todos los vendedores.

d)

La mayor de estas ventas, y el da correspondiente.

e)

La venta semanal conjunta, de los cinco vendedores.

Una agencia de venta de vehculos 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 nmero de automviles vendidos por cada
vendedor y el nmero total de cada modelo vendido por los
vendedores. As mismo, para entregar el premio al mejor vendedor,
necesita saber cul es el vendedor que ms coches ha vendido.
MODELOS

VENDEDOR

10

12

25

14

...

15

Estructuras de datos.
3

15

Programacin en Visual C++.NET


3

18

.
.
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.

Solucin al ejercicio #10.


// mayorymenor.cpp: define el punto de entrada de la aplicacin
de consola.
// Ejercicio #10, guia #2
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#define n 100
using 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);
calcular(numeros, mayor, menor, k);
4

Estructuras de datos.

Programacin en Visual C++.NET

salida(mayor, menor);
return 0;
}
// Funcion de lectura del arreglo
void 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 numeros
mayor = numeros[0];
for(i=1;i<x;i++)
{
if (numeros[i] > mayor)
mayor = numeros[i];
}
// Encontrando el menor de los numeros
menor = numeros[0];
for(i=1;i<x;i++)
{
if (numeros[i] < menor)
menor = numeros[i];
}
return;
}
// Definicion d ela funcion salida
void salida(int &mayor, int &menor)
{
system("cls");
cout << "el numero mayor es " << mayor << "\n";
cout << "el numero menor es "<< menor << "\n";
5

Estructuras de datos.

system("pause");
return;
}

Programacin en Visual C++.NET

Estructuras de datos.

Programacin en Visual C++.NET

Solucin al ejercicio 13.

// ejer13_guia2.cpp: define el punto de entrada de la aplicacin


de consola.
//
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#define m 10
#define n 10
using 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 lectura
void lectura(double ventas[][n], int x, int y)
7

Estructuras de datos.

Programacin 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 calcular
void 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=vvende
for (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 = vdia
for (j=0; j < y; j++)
{
suma = 0;
for (i=0; i < x; i++)
{
suma = suma + ventas[i][j];
}
8

Estructuras de datos.

Programacin en Visual C++.NET

vdia[j] = suma;
}
// Calculando el vendedor que mas vendio
vmayven = 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 fue
vmaydia = 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;
cout << "La posicion del dia que mas vendio es => " <<
dia << endl;
cout << "La venta total general es de => " << vt << endl;
9

Estructuras de datos.

system("pause");
return;
}

10

Programacin en Visual C++.NET

También podría gustarte