PROF. CARLOS RODRIGUEZ SANCHEZCOMP 242
IntroducciÓn a los Arreglos (“arrays”) en C++
Tipos de datos en C++
Simple data typesStructured data typesPointers data types
Structured data types
Variables definidas que pueden almacenar en memoria varios valores al mismo tiempo Arreglos (arrays)
Arreglos (Arrays)
Colección de un número fijo de componentes que son del mismo tipo de dato.
Forma general para declarar un arreglo de una dimensión: dataType arrayName[intExp];
Donde intExp es cualquier expresión constante que al evaluarse produce un número positivo entero. También, intExp especifica el número de componentes del arreglo.
Arrays
Ejemplos: La instrucción: int num[5]; declara un arreglo
llamado num de cinco componentes, cada uno de tipo int.
num[0] num[1] num[2] num[3] num[4]
num
Arrays
Para acceder a los componentes de un arreglo, la forma general utilizada es: arrayName[indexExp]
Donde indexExp, también llamado el index, es cualquier expresión cuyo valor debe ser un entero positivo. Especifica la posición de un componente dentro del arreglo.
Ejemplo: int list[10]; //declara un arreglo llamado list de 10 componentes
list[5] = 34; // almacena el valor 34 en la sexta posición del arreglo list
34
[0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
Arrays
Suponer que aa es una variable de tipo int. int. Las instrucciones: a = 3;a = 3; list[a] = 63;list[a] = 63; asignan el valor de 3 a la variable a, y luego le asigna
el valor 63 a la cuarta posición del arreglo list. De la misma forma, si el valor de la variable a es 4, entonces la instrucción
list[2 * a – 3] = 58;list[2 * a – 3] = 58; almacena el valor 58 dentro de list[5]list[5] porque 2*a-3
evalua a cinco.
Arrays
Analice las siguientes instrucciones: list[3] = 10; list[3] = 10; //asigna el valor de 10 al cuarto componente de listlist
list [6] = 35; list [6] = 35; //asigna el valor de 35 a la posición siete de listlist list [5] =list [5] = list[3] + list [6] = 35; list[3] + list [6] = 35; //añade el contenido de list[3] y de list[6] a
list[5]
10 45 35
[0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
Arrays
Uso práctico de arreglos en C++ Problema: hacer un programa que en C++ que lea
cinco números, los sume, y luego los escriba en el orden inverso como se entraron. Se necesitan declarar al menos cinco variables todas del
mismo tipo para almacenar en memoria los números que se van a entrar.
Arrays
Flowchart: start
Entrar 5 numerosa,b,c,d,e
sum = a+b+c+d+e
Mostrar e,d,c,b,a
stop
Arrays
Programa #1#include<iostream>using namespace std;
int main(){ int num1, num2, num3, num4, num; int sum;
cout << “Enter five integers: “; cin >> num1, num2, num3, num4, num5; cout << endl;
sum = num1 + num2 + num3 + num4 + num5;
cout << “The sum of the numbers = “ << sum << endl; cout << “The numbers in reverse order are: “; cout << num5 << “ “ << num4 << “ “ << num3 << “ “ << num2 << “ “ << num1<< endl; system(“pause”); return 0;}
Arrays
Hacer el mismo programa pero para que lea 100 números en lugar de solo cinco. En vez de definir cien variables del mismo tipo en el
programa, es más conveniente definir un arreglo de cien posiciones donde se pueda acumular cada valor en su lugar correspondiente, leerlos, sumarlos, y por último escribirlos en el orden inverso como se entraron.
Arrays
Solución:#include<iostream>using namespace std;
int main(){ int list[100]; int sum = 0; cout << “Enter 100 integers: “; for (int i = 0; i < 100; i ++) { cin >> list[i]; sum = sum + list[i]; } cout << endl; cout << “The sum of the numbers = “ << sum << endl; cout << “The numbers in reverse order are: “; for(int i = 99; i >=0; i --) cout << list[i] << “ “; cout << endl;
system(“pause”); return 0;}