You are on page 1of 19

Universidad Cesar Vallejo

Escuela de Ingeniera de Sistemas


Curso: Metodologa de la Programacin
______________________________________________________________________
Arreglos
Un arreglo (array) es una coleccin de datos del mismo tipo, que se almacenan en posiciones
consecutivas de memoria y reciben un nombre comn. Para referirse a un determinado elemento de un
array se deber utilizar un ndice, que especifique su posicin relativa en el array. El ndice de un
arreglo comienza en 0.
Un arreglo es una coleccin finita, homognea y ordenada de elementos. Finita: Todo arreglo tiene un
lmite; es decir, debe determinarse cul ser el nmero mximo de elementos que podrn formar
parte del arreglo. Homognea: Todos los elementos del arreglo deben ser del mismo tipo. Ordenada:
Se puede determinar cul es el primer elemento, el segundo, el tercero,.... y el n-simo elmento.
Los arreglos se clasifican de acuerdo con el nmero de dimensiones que tienen. As se tienen los:
- Unidimensionales (vectores)
- Bidimensionales (tablas o matrices)
- Multidimensionales (tres o ms dimensiones)
Vectores
La Declaracin de un Arreglo es igual a como se hara con una variable, a excepcin de que tambin se
especifica la cantidad de elementos en el arreglo encerrado entre corchetes de la siguiente manera:
Tipo_de_dato nombre_del_arreglo[tamao];

Ejemplo:
int a[20]; // declara un vector de 20 elementos enteros
flota x[50]; // declara un vector de 50 elementos reales
char w[30]; // declara un vector de 30 elementos tipo carcter
char nombres[50][80]; // declara un vector de 50 elementos donde cada elemento
// es una cadena de 80 caracteres
Inicializacin de un Vector
Cuando se declara un arreglo, sus valores se pueden inicializar de la siguiente manera:
int lista[9]= {0, 4, 78, 5, 32, 9, 77, 1, 23}
Una Caracterstica importante de los arreglos en C es que no se pueden modificar los limites superior
e inferior (y por tanto el rango) durante el programa. El limite inferior se fija siempre en 0 y el
superior lo fija el programador, es decir:

Acceso a los elementos de un arreglo


Cada valor dentro de un arreglo se conoce como elemento del arreglo. Para acceder a un elemento de
un arreglo especifique el nombre del arreglo con el ndice del elemento entre corchetes [].
Ejemplo:
int nmeros = { 12, 20, 60, 80, 100 };
for(int ndice = 0; ndice < 5 ; ndice++)
cout<<nmeros[ndice]<<endl;
El ndice comienza en 0 y termina en 4 porque hay cinco elementos, y cada elemento del arreglo se
llama nmeros[ndice].

______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
Ejercicios Reeueltos de Vectores
1) Hacer un programa para ingresar n nmeros en un Vector y calcular el mayor, menor y el
promedio.

#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//--------------------------------------------------------------------------#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
float x[100];
int n;
//--------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------------------void ingresoVector(float x[], int n, TListBox *lst)
{
int i;
lst->Items->Clear();
for(i=0;i<n;i++)
{
x[i]=InputBox("Ingreso","elemento["+IntToStr(i)+"]:","").ToDouble();
lst->Items->Add(x[i]);
}
}
______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
float mayor(float x[], int n)
{
int i;
float may=x[0];
for(i=0;i<n;i++)
{
if(x[i]>may)
may=x[i];
}
return may;
}
float menor(float x[], int n)
{
int i;
float men=x[0];
for(i=0;i<n;i++)
{
if(x[i]<men)
men=x[i];
}
return men;
}
float promedio(float x[], int n)
{
int i;
float s=0;
for(i=0;i<n;i++)
s=s+x[i];
return s/n;
}
void __fastcall TForm1::btnIngresarClick(TObject *Sender)
{
int i;
n=edN->Text.ToInt();
ingresoVector(x,n,lstNum);
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnCalcularClick(TObject *Sender)
{
edMay->Text=mayor(x,n);
edMen->Text=menor(x,n);
edProm->Text=promedio(x,n);
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnLimpiarClick(TObject *Sender)
{
edN->Clear();
lstNum->Items->Clear();
edMay->Clear();
edMen->Clear();
edProm->Clear();
edN->SetFocus();
n=0;
}
______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
//--------------------------------------------------------------------------void __fastcall TForm1::btnSalirClick(TObject *Sender)
{
Close();
}
//--------------------------------------------------------------------------2) Programa para ingresar n nmeros enteros y calcular la desviacin standard.

Donde:

//--------------------------------------------------------------------------#include <vcl.h>
#include<math.h>
#pragma hdrstop
#include "Unit1.h"
//--------------------------------------------------------------------------#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
float x[100];
int n;
//--------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------------------______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
void ingresoVector(float x[], int n, TListBox *lst)
{
int i;
lst->Items->Clear();
for(i=0;i<n;i++)
{
x[i]=InputBox("Ingreso","elemento["+IntToStr(i)+"]:","").ToDouble();
lst->Items->Add(x[i]);
}
}
float promedio(float x[], int n)
{
int i;
float s=0;
for(i=0;i<n;i++)
s= s + x[i];
return s/n;
}
float desviacion(float x[], int n)
{
int i;
float s=0,p;
p=promedio(x,n);
for(i=0;i<n;i++)
s= s + pow(x[i]-p,2);
return sqrt(s/(n-1));
}
void __fastcall TForm1::btnIngresarClick(TObject *Sender)
{
int i;
n=edN->Text.ToInt();
ingresoVector(x,n,lstNum);
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnCalcularClick(TObject *Sender)
{
edDs->Text=desviacion(x,n);
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnLimpiarClick(TObject *Sender)
{
edN->Clear();
lstNum->Items->Clear();
edDs->Clear();
edN->SetFocus();
n=0;
}
//--------------------------------------------------------------------------______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
void __fastcall TForm1::btnSalirClick(TObject *Sender)
{
Close();
}
//--------------------------------------------------------------------------3) Programa para ingresar n valores reales en un arreglo y luego invierta el arreglo.

//--------------------------------------------------------------------------#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//--------------------------------------------------------------------------#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
float x[100];
int n;
//--------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
void ingresoVector(float x[], int n, TListBox *lst)
{
int i;
lst->Items->Clear();
for(i=0;i<n;i++)
{
x[i]=InputBox("Ingreso","elemento["+IntToStr(i)+"]:","").ToDouble();
lst->Items->Add(x[i]);
}
}
______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
void mostrarVector(float x[], int n, TListBox *lst)
{
int i;
lst->Items->Clear();
for(i=0;i<n;i++)
lst->Items->Add(x[i]);
}

void invertirVector(float x[], int n)


{
int i,j;
float temp;
for(i=0,j=n-1;i<n/2;i++,j--)
{
temp=x[i];
x[i]=x[j];
x[j]=temp;
}
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnIngresarClick(TObject *Sender)
{
n=edN->Text.ToInt();
ingresoVector(x,n,lstNum);
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnInvertirClick(TObject *Sender)
{
invertirVector(x,n);
mostrarVector(x,n,lstNum);
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnLimpiarClick(TObject *Sender)
{
edN->Clear();
lstNum->Items->Clear();
edN->SetFocus();
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnSalirClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------

______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
4) Programa para ingresar 2 vectores de n elementos reales cada uno y reportar el producto escalar
de ellos.

//--------------------------------------------------------------------------#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//--------------------------------------------------------------------------#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
float A[100], B[100];
int n;
//--------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void ingresoVector(float x[], int n, TListBox *lst,String mensaje)


{
int i;
lst->Items->Clear();
for(i=0;i<n;i++)
{
x[i]=InputBox(mensaje,"elemento["+IntToStr(i)+"]:","").ToDouble();
lst->Items->Add(x[i]);
}
}

______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
float productoEscalar(float x[], float y[], int n)
{
int i;
float PE=0;
for(i=0;i<n;i++)
PE = PE + x[i]*y[i];
return PE;
}
void __fastcall TForm1::btnIngresoClick(TObject *Sender)
{
n = edN->Text.ToInt();
ingresoVector(A,n,lstA,"Primer Vector");
ingresoVector(B,n,lstB,"Segundo Vector");
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnCalcularClick(TObject *Sender)
{
edPE->Text = productoEscalar(A,B,n);
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnLimpiarClick(TObject *Sender)
{
edN->Clear();
lstA->Items->Clear();
lstB->Items->Clear();
edPE->Clear();
edN->SetFocus();
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnSalirClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------

______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
5) Programa para ingresar n elementos en un vector y permita mostrar los elementos y permita:
a) Dado un elemento buscarlo en el vector, si este se encuentra mostrar su posicin, si
el elemento no se encuentra reportar dato no se encuentra.
b) Dado un elemento eliminarlo del vector si es que se encuentra en caso contrario
reportar dato no se encuentra,
c) Dato un elemento modificarlo, es decir si este se encuentra pedir un nuevo elemento
y colocar este nuevo en la posicin donde estaba el anterior, sino se encuentra
mostrar dato no se encuentra
d) Insertar un elemento y la posicin donde se desea insertar y luego insertarlo en el
vector, Si la posicin no es correcta mostrar Mensaje indicando posicin incorrecta.
e) Ordenar los elementos de menor a mayor.

//--------------------------------------------------------------------------#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//--------------------------------------------------------------------------#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
float x[100];
int n;
//--------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

10

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
void ingresoVector(float x[], int n,TListBox *lst)
{
int i;
lst->Items->Clear();
for(i=0;i<n;i++)
{
x[i]=InputBox("Ingreso","elemento["+IntToStr(i)+"]:","").ToDouble();
lst->Items->Add(x[i]);
}
}
int buscar(float x[], int n, float dato)
{
int i;
for(i=0;i<n;i++)
{
if(x[i]==dato)
return i;
}
return -1;
}
void elimina(float x[], int &n, int p)
{
int i;
for(i=p;i<n-1;i++)
x[i]=x[i+1];
n=n-1;
}
void mostrarVector(float x[], int n, TListBox *lst)
{
int i;
lst->Items->Clear();
for(i=0;i<n;i++)
lst->Items->Add(x[i]);
}
void inserta(float x[], int &n,float dato, int p)
{
int i;
for(i=n-1;i>=p;i--)
x[i+1]=x[i];
x[p]=dato;
n=n+1;
}
void burbuja(float x[], int n)
{
int i,j;
float temp;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(x[i]>x[j])
{
temp=x[i];
x[i]=x[j];
x[j]=temp;
}
}

______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

11

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
void __fastcall TForm1::btnIngresarClick(TObject *Sender)
{
n=edN->Text.ToInt();
ingresoVector(x,n,lstNum);
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnBuscarClick(TObject *Sender)
{
float dato;
int p;
dato=InputBox("Buscar","Dato a buscar : ","").ToDouble();
p=buscar(x,n,dato);
if(p!=-1)
ShowMessage("Dato se encuentra en posicon "+IntToStr(p));
else
ShowMessage("Dato no se encuentra");

}
//--------------------------------------------------------------------------void __fastcall TForm1::btnModificarClick(TObject *Sender)
{
float dato;
int p;
dato=InputBox("Buscar","Dato a modificar : ","").ToDouble();
p=buscar(x,n,dato);
if(p!=-1)
{
x[p]=InputBox("Modificar","Nuevo dato : ","").ToDouble();
mostrarVector(x,n,lstNum);
ShowMessage("Dato modificado");
}
else
ShowMessage("Dato no se encuentra");

}
//--------------------------------------------------------------------------void __fastcall TForm1::btnEliminarClick(TObject *Sender)
{
float dato;
int p;
dato=InputBox("Buscar","Dato a eliminar : ","").ToDouble();
p=buscar(x,n,dato);
if(p!=-1)
{
elimina(x,n,p);
mostrarVector(x,n,lstNum);
ShowMessage("Dato eliminado");
}
else
ShowMessage("Dato no se encuentra");
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnInsertarClick(TObject *Sender)
{
float dato;
int p;
dato=InputBox("Insercion","Dato a insertar","").ToDouble();
p=InputBox("Insercion","posicion a Insertar","").ToInt();
if(p>=0 && p<=n)
{

______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

12

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
inserta(x,n,dato,p);
mostrarVector(x,n,lstNum);
ShowMessage("Dato insertado");

}
else
ShowMessage("Posicion no valida");
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnOrdenarClick(TObject *Sender)
{
burbuja(x,n);
mostrarVector(x,n,lstNum);

}
//--------------------------------------------------------------------------void __fastcall TForm1::btnLimpiarClick(TObject *Sender)
{
edN->Clear();
lstNum->Items->Clear();
edN->SetFocus();
n=0;
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnSalirClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------

6) Lea dos Vectores A y B y luego diga que elementos del vector A no se encuentran en B.

______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

13

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
//--------------------------------------------------------------------------#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//--------------------------------------------------------------------------#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
float A[100],B[100],C[100];
int n,m,p;
//--------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
void ingresoVector(float x[], int n, TListBox *lst)
{
int i;
lst->Items->Clear();
for(i=0;i<n;i++)
{
x[i]=InputBox("Ingreso","elemento["+IntToStr(i)+"]:","").ToDouble();
lst->Items->Add(x[i]);

void mostrarVector(float x[], int n, TListBox *lst)


{
int i;
lst->Items->Clear();
for(i=0;i<n;i++)
lst->Items->Add(x[i]);
}
int buscar(float x[], int n, float dato)
{
int i;
for(i=0;i<n;i++)
{
if(x[i]==dato)
return i;
}
return -1;
}
void diferencia(float a[], int n, float b[], int m, float c[], int &p)
{
int i;
p=0;
for(i=0;i<n;i++)
{
if(buscar(c,p,a[i])==-1 && buscar(b,m,a[i])==-1)
{
c[p]=a[i];
p++;
}
}
}

______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

14

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
//--------------------------------------------------------------------------void __fastcall TForm1::btnIngresoAClick(TObject *Sender)
{
n=edN->Text.ToInt();
ingresoVector(A,n,lstA);
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnIngresoBClick(TObject *Sender)
{
m=edM->Text.ToInt();
ingresoVector(B,m,lstB);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::btnCalcularClick(TObject *Sender)


{
diferencia(A,n,B,m,C,p);
if(p!=-1)
mostrarVector(C,p,lstC);
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnLimpiarClick(TObject *Sender)
{
edN->Clear();
edM->Clear();
lstA->Items->Clear();
lstB->Items->Clear();
lstC->Items->Clear();
n=0;
m=0;
p=0;
edN->SetFocus();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::btnSalirClick(TObject *Sender)


{
Close();
}
//---------------------------------------------------------------------------

______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

15

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
7) Ingresar los nombres y las notas de n alumnos y reportar una lista en orden Alfabtico y una lista
en orden de merito

//--------------------------------------------------------------------------#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//--------------------------------------------------------------------------#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
String nombres[100];
float notas[10];
int n;
//--------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------------------void ingreso(String nombres[], float notas[], int n, TListBox *lst1, TListBox *lst2)
{
int i;
lst1->Items->Clear();
lst2->Items->Clear();
for(i=0;i<n;i++)
{
nombres[i]=InputBox("Ingreso","Nombre["+IntToStr(i)+"]:","");
notas[i]=InputBox("Ingreso","Nota["+IntToStr(i)+"]:","").ToDouble();
lst1->Items->Add(nombres[i]);
lst2->Items->Add(notas[i]);
}

______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

16

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
}

void mostrar(String nombres[], float notas[], int n, TListBox *lst1, TListBox *lst2)
{
int i;
lst1->Items->Clear();
lst2->Items->Clear();
for(i=0;i<n;i++)
{
lst1->Items->Add(nombres[i]);
lst2->Items->Add(notas[i]);
}
}
void ordenAlfabetico(String nombres[], float notas[], int n)
{
int i,j;
String temp1;
float temp2;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(nombres[i]>nombres[j])
{
temp1=nombres[i];
nombres[i]=nombres[j];
nombres[j]=temp1;
temp2=notas[i];
notas[i]=notas[j];
notas[j]=temp2;
}
}
void ordenDeMerito(String nombres[], float notas[], int n)
{
int i,j;
String temp1;
float temp2;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(notas[i]<notas[j])
{
temp1=nombres[i];
nombres[i]=nombres[j];
nombres[j]=temp1;
temp2=notas[i];
notas[i]=notas[j];
notas[j]=temp2;
}
}
void __fastcall TForm1::btinIngresoClick(TObject *Sender)
{
n=edN->Text.ToInt();
ingreso(nombres,notas,n,lstNombres,lstNotas);

}
//--------------------------------------------------------------------------void __fastcall TForm1::btnOrdenAlfabeticoClick(TObject *Sender)
{
ordenAlfabetico(nombres,notas,n);

______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

17

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________
mostrar(nombres,notas,n,lstNombres,lstNotas);
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnOrdenMeritoClick(TObject *Sender)
{
ordenDeMerito(nombres,notas,n);
mostrar(nombres,notas,n,lstNombres,lstNotas);
}
//--------------------------------------------------------------------------void __fastcall TForm1::btnLimpiarClick(TObject *Sender)
{
edN->Clear();
lstNombres->Items->Clear();
lstNotas->Items->Clear();
n=0;
edN->SetFocus();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::btnSalirClick(TObject *Sender)


{
Close();
}
//---------------------------------------------------------------------------

______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

18

Universidad Cesar Vallejo


Escuela de Ingeniera de Sistemas
Curso: Metodologa de la Programacin
______________________________________________________________________

Ejercicios Propuestos de Vectores


1) Ingresar n nmeros en un vector y mostrar luego, primero la lista de los nmeros pares que fueron ingresados
y luego la lista de los nmeros negativos
2) Ingresar N notas en un vector y determinar el porcentaje de aprobados y el porcentaje de desaprobados.
3) Sea un vector de n elementos reales. Mostrar la lista de nmeros menores al promedio.
4) Calcule la media armnica de un conjunto de datos. La media armnica se define como: el Inverso del promedio
de los inversos
5) Ingresar n elementos en un vector y luego ingresar un elemento y reportar cuantas veces aparece ese elemento
en el vector.
6) Programa para ingresar n elementos en un vector y luego ingresar un elemento, si este se encuentra en el
vector eliminarlo todas las veces que se encuentra.
7) Programa para ingresar n elementos en un vector y al final quede sin elementos repetidos.
8) Ingresar n enteros en un vector A y otros n enteros en un vector B y mostrar la lista de enteros del vector C.
Donde cada C[i]=A[i]+B[i]
9) Ingresar dos vectores y reportar si son iguales.
10) Ingresar 2 vectores de n y m elementos y calcular la unin, interseccin y la diferencia del primero con el
segundo.
11) Se tienen dos vectores ordenados y se desea unirlos en un tercero pero manteniendo los datos ordenados (sin
usar mtodos de ordenamiento).
12) Calcule la mediana de un conjunto de datos. La mediana de un vector ordenado es el elemento central si el
nmero de trminos es impar. Y la semisuma de los trminos centrales si el nmero de trminos es par.
13) Calcule el promedio ponderado de un conjunto de datos. Se deben ingresar las cantidades con sus respectivos
pesos.
14) Ingrese los nombres y las tallas de los jugadores de un equipo de ftbol y determine la talla promedio y el
nombre del jugador ms alto.

______________________________________________________________________
Docente: Mg. Ing. Marcelino Torres Villanueva

19