Documente Academic
Documente Profesional
Documente Cultură
Arregos en C++
Arrays en C++
Arrays en C++
Arrays en C++
Arrays en C++
Dr. Jorge Mayhuasca Guerra
Lógica y Algoritmos
INGENIERIA DE SISTEMAS
Arreglos
• Un arreglo es un conjunto de variables del
mismo tipo que poseen un nombre común
concatenado a un índice.
Arreglos
• Los arreglos pueden tener una o varias
dimensiones.
Arreglos unidimensionales
numero_bytes = sizeof(tipo)*tamaño;
• Índice de un arreglo
• Elemento de un arreglo
– Un elemento de un arreglo es un valor
particular dentro de la estructura del arreglo.
– Para acceder a un elemento del arreglo es
necesario indicar la posición o índice dentro
del arreglo.
Ejemplo:
#include <iostream>
#include <conio.h>
• sqrs[0] = 1*1
int main()
• sqrs[1] = 2*2
{ • sqrs[2] = 3*3
int base[10]; • sqrs[3] = 4*4
int i; • sqrs[4] = 5*5
for (i=1;i<11;i++) { • sqrs[5] = 6*6
base[i-1]=i*i; • sqrs[6] = 7*7
} • sqrs[7] = 8*8
for (i=0;i<10;i++) { • sqrs[8] = 9*9
• sqrs[9] = 10*10
cout<<base[i]<<endl;
}
getche();
Dr. Jorge Mayhuasca Guerra
}
Asignación entre arreglos
Si desea copiar los valores de todos los elementos de una arreglo
INGENIERIA DE SISTEMAS
a otro debe hacerlo copiando cada elemento por separado
.
Ejemplo 2: Realizar un programa que cargue array1 con los
números del 1 al 10 y después los copie en array2.
#include <iostream>
#include <conio.h>
int main() {
int i, array1[10], array2[10];
for (i=0; i<10;i++) //Inicialización de array1
array1[i]=i+1;
for (i=0; i<10;i++) // Copiar en array2
array2[i]=array1[i];
for (i=0; i<10;i++) // Mostrar array2
cout<<array2[i]<<endl;
getche();
}
Ejemplo 3: Realize un programa que permita ingresar 10 numeros
INGENIERIA DE SISTEMAS
en un array y muestren como resultado la suma de sus elementos.
#include <iostream.h>
#include <conio.h>
int main(){
int x[10];
int i,suma;
cout<<"Ingrese 10 numeros enteros\n\n";
for (i=0;i<10;i++){
cout<< "Ingrese el valor No "<< i+1 <<": ";
cin>>x[i];
}
suma=0;
for (i=0;i<10;i++)
suma+=x[i];
cout <<"\nEl resultado de la suma es =" << suma << "\n";
getche();
}
Ejemplo 4: Realize un programa que lea la temperatura al
INGENIERIA DE SISTEMAS
mediodía, durante todos los días de un mes y luego informe la
temperatura promedio mensual así como el día mas caluroso y el
mas frio
#include <iostream>
#include <conio.h>
int main(){
int temp[31],min, max, media, dias;
cout<<"Cuantos días tiene el mes"<<endl;
cin>>dias;
for(int i=0;i<dias;i++){
cout<<"Introduzca la temperatura de mediodía del día"
<<i+1<<":"<<endl;
cin>>temp[i];
}
media=0; // Hallar la media
for(int i=0;i<dias;i++){
media=media+temp[i];
}
INGENIERIA DE SISTEMAS
void main()
{
…
cout << “Esto es una cadena de texto”;
}
“Ingeniería de Sistemas”
“Hola Mundo”
“Apolo 13”
Sintaxis:
char <nombre_de_cadena> [ tamaño_máximo ];
#include <iostream.h>
#include <conio.h>
void main(){
char cad_uno[20] = "Hola Mundo";
char cad_dos[20] = {'H','o','l','a',' ','M','u','n','d','o' };
char cad_tres[20] = {"Hola Mundo"};
char saludo_uno[] = "Hola" ;
char saludo_dos[] = {"Hola"} ;
char saludo_tres[] = {'H','o','l','a',' ','M','u','n','d','o'};
cout<< cad_uno<<"\n";
cout<< cad_dos<<"\n";
cout<< cad_tres<<"\n";
cout<< saludo_uno<<"\n";
cout<< saludo_dos<<"\n";
cout<< saludo_tres<<"\n";
getche();
Dr. Jorge Mayhuasca Guerra
}
Cadenas de Texto: Ingreso de cadenas (Librería : stdio.h)
INGENIERIA DE SISTEMAS
Sintaxis:
gets : cadena
#include <stdio.h>
void main(){
char cad_uno[20];
char cad_dos[20];
char cad_tres[20];
cout<< "Ingrese el Primer texto : ";
gets(cad_uno);
cout<< "Ingrese el Segundo texto : ";
gets(cad_dos);
cout<< "Ingrese el Tercer texto : ";
gets(cad_tres);
cout<<"\nLos textos ingresados son: \n";
cout<< "Texto No 1: "<<cad_uno<<"\n";
cout<< "Texto No 2: "<<cad_dos<<"\n";
cout<< "Texto No 3: "<<cad_tres<<"\n";
getche();
Dr. Jorge Mayhuasca Guerra
}
Cadenas de Texto: Arrays de cadenas
INGENIERIA DE SISTEMAS
void main(){
char apell[3][15], nom[3][20],dni[3][15];
int edad[3],f;
clrscr();
cout<<endl<<endl<<"\t\t PROGRAMA DE CARGA DE DATOS";
cout<<endl<<"\t\t =====================";
for(f=0;f<3;f++){
cout<<endl<<endl<<"Ingrese Apellido No "<<(f+1)<<" : ";
cin>>apell[f];
cout<<endl<<"Ingrese Nombre No "<<(f+1)<<" : ";
cin>>nom[f];
cout<<endl<<"Ingrese Edad No "<<(f+1)<<": ";
cin>>edad[f];
cout<<endl<<"Ingrese DNI No "<<(f+1)<<": ";
cin>>dni[f]; clrscr();
}
Dr. Jorge Mayhuasca Guerra
cout<<endl<<endl<<"Los datos ingresados fueron : ";
INGENIERIA DE SISTEMAS
for(f=0;f<3;f++){
cout<<endl<<endl<<"Apellidos No "<<(f+1)<<" : ";
cout<<apell[f];
cout<<endl<<endl<<"Nombre No "<<(f+1)<<" : ";
cout<<nom[f];
cout<<endl<<endl<<"Edad No "<<(f+1)<<" : ";
cout<<edad[f];
cout<<endl<<endl<<"DNI No "<<(f+1)<<" : ";
cout<<dni[f];
}getche();
}
La sintaxis es la siguiente:
• tipo_dato identificador [dimensión1] [dimensión2] ...
[dimensiónN] ; Donde N es un número natural positivo.
#include <iostream>
#include <conio.h>
void main() {
int matriz [3][2]; int valor;
for(int i=0;i<3;i++) { // Recorre las filas de la matriz
for(int j=0; j<2;j++) { // Recorre las columnas de la matriz
cout<<"Ingrese el valor de la matriz en la posicion ["<<i<<","<<j<<"]"<<endl;
cin>>valor;
matriz[i][j] = valor; } }
for(int i=0;i<3;i++) { // Imprimiendo el arreglo en formato matricial
cout<<"|";
for(int j=0; j<2;j++) {
cout<<"\t"<<matriz[i][j]<<"\t"; }
cout<<"|"<<endl; }
getche(); }
Dr. Jorge Mayhuasca Guerra
INGENIERIA DE SISTEMAS
Algunas operaciones con arreglos
#include <stdio.h>
int main() {
int cant_estud = 5;
char nombres[5][30], apellidos[5][30];
cout << "\t\tPrograma de demostración de arreglos de cadenas" << endl;
for( int i=0;i<cant_estud;i++) {
cout<<"Estudiante "<<i+1<<": "<<endl;
cout<<"Ingrese el Nombre: ";
gets(nombres[i]);
cout<<"Ingrese el Apellido : ";
gets(apellidos[i]);
cout<<" "<<endl; }
cout << "\t\tCarga realizada..." << endl;
for( int i=0;i<cant_estud;i++) {
cout<<"Estudiante "<<i+1<<" es : "<<nombres[i]<<" "<<apellidos[i]<<endl; }
getche(); }
Ejemplo: Suponga que debe construir un
INGENIERIA DE SISTEMAS
int main(){
char competidores [4][40]; /*Matriz de nombres de competidores*/
float carreras[4][3]; /*Matriz de tiempos en cada vuelta de los
competidores*/
float prom_competidores[4]; /*Vector de tiempos promedio de los
competidores*/
float acumulador=0;
cout << "Información del tiempo de cada competidor en el
chequeo" << endl;
/*Llenando el vector de nombres de participantes*/
for (int i=0;i<4;i++) {
cout<<"Ingrese el nombre del competidor del carril "<<i+1<<endl;
gets(competidores [i]); }
/*Llenando la matriz de tiempos en cada chequeo*/
for (int j=0;j<4;j++) {
acumulador=0;
cout<<"Indique el tiempo del Competidor
INGENIERIA DE SISTEMAS
"<<competidores[j]<<endl;
for(int k=0;k<3;k++) {
cout<<"En la prueba "<<k+1<<endl;
cin>>carreras[j][k];
acumulador=acumulador+carreras[j][k]; }
/*Guardando el promedio de las dos carreras en el vector*/
prom_competidores[j]=acumulador/3; }
/*Imprimiendo los resultados*/
for (int j=0;j<4;j++) {
cout<<"El tiempo del Competidor "<<competidores[j];
for(int k=0;k<3;k++) {
cout<<"\t"<<carreras[j][k]; }
cout<<"\tTiempo promedio= "<<prom_competidores[j]<<endl; }
getche();
}
Dr. Jorge Mayhuasca Guerra