Un
array
es una colección finita de datos del mismo tipo, que se almacenan en posiciones
consecutivas de memoria y reciben un nombre común.
Ejemplo de array: Supongamos que queremos guardar las
notas de los 20 alumnos de una clase. Para ello utilizaremos un array de 20
elementos y en cada elemento almacenaremos una nota.
Podemos
representar gráficamente el array de notas de la siguiente forma:
Array
notas:
Para acceder a cada elemento del array se utiliza el nombre del array y uno o más índices que indican la posición que ocupa el elemento dentro del array. Cada índice se escribe entre corchetes.
El
primer elemento
del array ocupa la posición 0, el segundo la posición 1, etc. En un
array de N elementos el último ocupará la posición N-1.
En el ejemplo anterior,
notas[0] contiene la nota del primer
alumno y notas[19] contiene la del
último
Cómo declarar un array:
Un array se declara de forma parecida a una variable de tipo simple
añadiéndole al nombre el número de elementos que contendrá el array.
De forma general, un array se declara así:
tipo_dato nombre_array[elementos1][elementos2]…..;
elementos1, elementos2, etc. son los índices del array. Deben ser
números enteros positivos o expresiones con un resultado entero positivo. Indican
el número de elementos del array.
En el ejemplo anterior,
el array notas se declara como:
double notas[20];
El array es
unidimensional, se llama notas y contiene 20 elementos de tipo double.
Más ejemplos de
declaración de arrays:
int ventas[10] ;
//array llamado ventas que contiene 10 enteros
double grados[20]; //array
grados que contiene 20 elementos de tipo double
float precios[30]; //array
llamado precios que contiene 30 elementos de tipo float
El número de índices determina la dimensión del
array. Si el array tiene solo un índice es un array
de una dimensión o unidimensional (también llamado vector), si tiene dos
índices es un array de dos dimensiones o bidimensional (también llamados
matrices, tablas o arreglos), si tienen tres índice tridimensional, etc.
Para facilitar la modificación del programa, el tamaño del array se
puede declarar utilizando una constante en lugar de una cantidad entera. Esto
hace más fácil modificar el programa ya que todas las referencias al tamaño
máximo del array (por ejemplo, en bucles for o en definiciones de arrays)
pueden ser modificadas cambiando el valor de la constante.
Por ejemplo, declaración de 4 arrays A, B, C y D de 10 elementos cada
uno de tipo double usando una constante llamada ELEMENTOS:
const int ELEMENTOS = 10;
double A[ELEMENTOS], B[ELEMENTOS],
C[ELEMENTOS], D[ELEMENTOS];
En este caso si se modifica el tamaño de los
arrays, solo habrá que cambiar el valor de la constante.
Los arrays declarados como locales en una función
tienen como valores iniciales valores indeterminados, como ocurre con las
variables locales.
La
declaración de un array puede incluir la asignación de valores iniciales.
La forma general de hacerlo es:
tipo
nombre_array[tamaño]={valor1,valor2,..,valorn};
Donde valor1 es el valor del primer elemento del
array, valor2 el valor del segundo elemento, y así sucesivamente.
El tamaño del array es opcional cuando se asignan valores
iniciales en la declaración.
Todos los elementos del array que no tienen
asignados valores iniciales explícitos, (sucede cuando un array tienes más
elementos que valores iniciales se han asignado), serán puestos automáticamente
a cero.
Ejemplos de asignación de
valores iniciales en la declaración de un array en C++:
double
porcentaje[]={0, 0.3, 7.25, 4.2};
Se declara un array unidimensional
llamado porcentaje que contiene 4 elementos de tipo double. El número de
elementos no es necesario indicarlo porque se están asignando4 valores
iniciales. El compilador asume que el array tiene 4 elementos.
int
numeros[5]= {1,4,-7,5,9};
Se declara un array unidimensional
llamado numeros que contiene 5 elementos de tipo int. Se indica el número de
elementos aunque no es necesario hacerlo. Se están asignando 5 valores
iniciales. El compilador asume que el array tiene 5 elementos.
int
digitos[8]= {3,4,2,7};
Se declara un array unidimensional
llamado digitos que contiene 8 elementos de tipo int. Aquí sí es necesario
indicar el número de elementos del array porque solo se le asignan valores
iniciales a los cuatro primeros. El compilador asumiría que el array tiene solo
4 elementos. En este caso los cuatro últimos elementos del array que no reciben
valores iniciales, toman el valor 0.
digitos[0]=3, digitos[1]=4,
digitos[2]=2, digitos[3]=7,
digitos[4]=0, digitos[5]=0,
digitos[6]=0, digitos[7]=0
Las
declaraciones de arrays que hemos hecho hasta ahora se llaman declaraciones implícitas: para cada array que se declara
hay que indicar el tipo y la dimensión.
Una alternativa a esto es definir un nuevo tipo de dato para el array
asignándole un nombre, y posteriormente declarar las variables como
pertenecientes a ese tipo.
C++ dispone
del especificador typedef que permite la creación de nuevos tipos
de datos.
Los tipos
de datos creados con typedef son sinónimos de otros tipos ya existentes.
Por
ejemplo, la siguiente instrucción crea un nuevo tipo de dato llamado entero, sinónimo de int.
typedef int entero;
A partir de esta instrucción podemos declarar variables
enteras así:
entero a, b=3;
Utilizando typedef podemos crear nuevos tipos de datos
sinónimos de tipos array. La forma general de hacerlo es:
typedef tipo_base nombre_nuevo_tipo[dimension];
Ejemplo:
typedef int Tvector[30];
Esta instrucción crea un nuevo tipo de dato
llamado Tvector. Las variables que se declaren de este tipo serán arrays de 30
enteros.
Por ejemplo:
Tvector a, b;
Se han declarado a y b de tipo Tvector; a y b son
dos arrays de 30 enteros.
Ejemplos de
arrays es C++:
Ejemplo 1: programa C++ que accede y modifica los elementos de
un array
Los
elementos de un array se pueden utilizar igual que cualquier otra variable y se
puede hacer con ellos las mismas operaciones que se pueden hacer con el resto
de variables.
#include <iostream>
using namespace std;
int main ()
{
int n, m = 5;
int a[]={2,8,3,0,4}; //se declara un array de 5
elementos de tipo
//int con esos valores iniciales
n = a[0]; //n = 2
a[0]=a[1]+a[2]; //a[0]= 8 + 3 = 11
a[1]++; //a[1]= 9
a[n]=m+10; //a[2]= 15
a[n+1]=7; //a[3]= 7
if(a[0]>=a[1]) //if(11 >= 9)
a[4]=a[0]; // a[4]= 11
cout << a[0]<<" "<< a[1]<<
" "<< a[2]<< " "<< a[3]<< "
"<< a[4];
cout
<< endl;
system("pause");
}
La salida de este programa es:
11 9 15 7 11
Si se intenta acceder a un elemento que está fuera de
los límites del array (un elemento con índice negativo o con un valor del
índice mayor que el que corresponde al último elemento del array) el compilador
no avisa del error. El error se producirá durante la ejecución si esa posición
de memoria que se intenta acceder está fuera de la zona de memoria asignada al
programa.
Es responsabilidad del programador comprobar que los
valores de los índices utilizados en los accesos a los elementos del array
están dentro de los límites del array.
Ejemplo 2:
recorrer un array
Para recorrer un array se utiliza una instrucción iterativa (normalmente
una instrucción for) utilizando una variable entera como índice que tomará
valores desde el primer elemento al último o desde el último al primero.
El siguiente programa declara un array de 7 elementos de tipo double
llamado notas y le asigna valores iniciales. A continuación recorre el array,
utilizando la instrucción for, para mostrar por pantalla el contenido del
array.
#include
<iostream>
#include
<iomanip>
using namespace std;
int main ()
{
int i;
double notas[]={2.3,8.5,3.2,9.5,4,5.5,7.0}; //array de 7 elementos
cout << fixed << setprecision(2);
for(i=0; i<7; i++)
cout
<< notas[i] << " "; //se muestra
cada elemento del array
cout << endl;
system("pause");
}
La
salida que muestra este programa es:
2.30 8.50 3.20 9.50 4.00
5.50 7.00
Ejemplo 3: Recorrido de
un array. Programa C++ que lee por teclado la nota de los alumnos de una clase
y calcula la nota media del grupo. También muestra los alumnos con notas superiores
a la media.
Este programa declara un array de elementos de tipo float que contendrá
las notas de los alumnos.
Se realizan 3 recorridos sobre el array, el primero para asignar a cada
elemento las notas introducidas por teclado, el segundo para sumarlas y el
tercero para mostrar los alumnos con notas superiores a la media.
#include
<iostream>
#include
<iomanip>
using namespace std;
int main ()
{
float notas[20]; //array de NUMALUM
elementos tipo float
int i = 0;
float suma = 0,
media;
// Entrada
de datos. Se asigna a cada elemento del array
// la nota
introducida por teclado
for (i=0; i<20;
i++)
{
cout <<
"Alumno " << i+1 << " Nota final: ";
cin >>
notas[i];
}
// Sumar
todas las notas
for (i=0; i<20;
i++)
suma = suma +
notas[i];
// Calcular
la media
media = suma / 20;
// Mostrar
la media
cout << fixed
<< setprecision(2);
cout << endl<<
endl << "Nota media del curso: " << media << endl;
// Mostrar
los valores superiores a la media
cout <<
"Listado de notas superiores a la media" << endl;
cout <<
"--------------------------------------" << endl;
for (i=0; i<20; i++)
if (notas[i] >
media)
{
cout << "Alumno numero
" << setw(3) << i+1;
cout << " Nota final:
" << notas[i] << endl;
}
cout << endl;
system("pause");
}
ayuda! como hacer el sistema de un cajero automatico con arrays.. ayudemne chicoooooooooooooss!!!!!!!!!
ResponderEliminarPOR FAVOR ME PODRIAN AYUDAR A HACER ESTE PROGRAMA CON ARRAYS LO NECESITO URGENTE EN VERDAD QUIERO APRENDER...
ResponderEliminarGuardar en un vector los nombres de N empleados de una empresa, en otro vector los años de servicio que tienen, y en otro vector sus sueldos, calcular el nuevo sueldo sabiendo que cada trabajador recibe una bonificación especial de S/.45.00 por cada año de servicio que tiene.
AYUDENME POR FAVOR ESTOY INTENTANDO Y NO ME SALE
Este comentario ha sido eliminado por el autor.
EliminarEste comentario ha sido eliminado por el autor.
EliminarEste comentario ha sido eliminado por el autor.
Eliminar#include
ResponderEliminarusing namespace std;
int main()
{
char vnombre[4][50];
int vanoser[4];
float vsueldo[4];
float vnsueldo[4];
int c;
cout<<" Nombre del usuario:"<> vnombre[c];
}
cout<<" Años de servicio del usuario:"<> vanoser[c];
}
cout<<" Sueldo del usuario:"<> vsueldo[c];
}
cout<<" Sueldo mas bonificacion:"<<endl;
cout<<" ========================"<<endl;
for (c=1; c<4; c++){
vnsueldo[c]=(vsueldo[c]+(vanoser[c]*45));
cout<<" El nuevo sueldo del empleado" <<c<<"es: ";
cout<< vnsueldo[c]<<endl;
}
return 0;
}
Que finoo!!! Super sencillo. Me encantó!
EliminarPOR FAVOR ME PODRIAN AYUDAR A HACER ESTE PROGRAMA usando arreglos en c++, que haga lo siguiente:
ResponderEliminardigitar el nombre de 5 empleados, con las horas trabajadas en una semana y el pago por hora, al terminar de digitar lo anterior, al final debe imprimir lo siguiente:
nombre horas trabajadas pago por horas total
Hola. Me podrían ayudar a realizar un Código de un arreglo dónde se muestre el nombre y el sueldo sin centavos de 20 empleados, utilizando las dos formas de inicializar un arreglo. En C++. Gracias
ResponderEliminarpor favor podrian ayudarme con este hallar el promedio de las 3 notas mas altas de un array de 5 notas ingresadas atraves del teclado
ResponderEliminarAmigo algo nuevo en C++ se pueden crear estructuras aquí en C++ y no tienes tutos de como hacerlo. Y también si aquí se pueden crear arrays dinámicos así con en JAVA el ArrayList que aumentan de tamaña según los datos que se le pasen.
ResponderEliminarAYUDEN PORFA
ResponderEliminarhola Buenas Tardes Me Podrían Hacer El Favor De Ayudarme Con Este Ejercicio en Lenguaje C++
ResponderEliminar-Realzar Un Arreglo De (N) Posiciones, Introducir Una Frase, Luego Decir El Numero De Vocales Que Aparecen En Una Frase Introducida Por El Usuario
hola buenas tardes me podrian ayudar con este ejercicio en lenguaje C++
ResponderEliminar-Realizar un programa que me permita Que lea 10 números por teclado, 5 para un vector
A y 5 para otro vector B. Mostrar los resultados de suma, resta, multiplicación y división
de los vectores en pantalla en diferentes vectores.
hola me podrían ayudar en hacer un Programa que tenga un arreglo entero de 10 posiciones donde el usuario ingresara datos a cada posición; deducir si cada dato es positivo, negativo o cero (deben hacer uso de ciclos forzozamente).
ResponderEliminarPor favor alguien me puede ayudar con este programa en c++ estoy empezando y no entiendo mucho por fa: Escriba un programa que use los siguientes arreglos (tipo ):
ResponderEliminar• empId: un arreglo de siete enteros tipo long para almacenar el
número de identificación de los empleados. El arreglo debe ser
inicializado con los números siguientes:
5658845 4520125 7895122 8777541
8451277 1302850 7580489
• horas: un arreglo de siente enteros tipo int para almacenar el número
de horas trabajadas por cada empleado.
• tarifaPorHora: Un arreglo de siete números tipo double para
almacenar la tarifa por hora de cada empleado.
• salarioBruto: un arreglo de siete números tipo double para
almacenar el salario bruto que debe ser pagado a cada empleado.
El programa debe relacionar la data en cada arreglo a través del
subíndice. Por ejemplo, el numero en el elemento 0 del arreglo horas
debe ser el número de horas trabajadas por el empleado cuyo número
de identificación se encuentre almacenado en el elemento 0 del arreglo
empId. La tarifa por hora de ese mismo empleado debe ser almacenada
en el elemento 0 del arreglo tarifaPorHora.
El programa debe desplegar el número de cada empleado y solicitarle al
usuario que entre las horas trabajadas así como la tarifa por hora.
Luego debe calcular el sueldo bruto para ese empleado (horas
trabajadas multiplicado por la tarifa por hora) y almacenarlo en el arreglo
salarioBruto. Después que la data haya sido introducida para todos los
empleados, el programa debe desplegar cada número de identificación
de empleado con su correspondiente sueldo bruto.
Validación de entrada: El programa no debe aceptar valores negativos
para las horas trabajadas o números menores que 50.00 para la tarifa
por hora
Este otro estoy confundido por favor se lo voy agradecer ayudenme gracias : Escribir un programa que simule una máquina de venta de bebidas. El
ResponderEliminarprograma debe usar una estructura que almacene la siguiente data.
nombreBebida string
precioBebida double
cantidadEnMaquina int
El programa debe crear un vector de cinco estructuras. Los elementos
deben ser inicializados con la data siguiente.
Nombre de la Bebida Costo Cantidad en
Máquina
Botella de Agua 20.00 20
Coca Cola 25.00 20
Seven Up 25.00 20
Montain Dew 30.00 20
Jugo V8 50.00 20
Cada vez que el programa sea ejecutado, debe entrar a un ciclo que
realice los siguientes pasos: La lista de las bebidas disponibles debe ser
desplegada en la pantalla. Se le debe permitir al usuario salir del
programa o elegir una bebida. Si el usuario selecciona una bebida, él o
ella deberán introducir el monto en dinero que es insertado en la
máquina de bebidas. El programa deberá desplegar el cambio a ser
devuelto al usuario y rebajar de la máquina de bebidas la bebida
seleccionada. Si el usuario selecciona una bebida que cuya cantidad en
existencia ha sido agotada, el programa debe desplegar un mensaje en
la pantalla indicándolo. El ciclo luego vuelve a repetirse. Cuando el
usuario elige salir, el programa debe desplegar el monto total en dinero
que la maquina ha ganado.
Validación de entrada: Cuando el usuario entre un monto en dinero, el
programa no debe aceptar valores negativos ni valores menores a
20.00 en c++
oa
ResponderEliminarAYUDA URGENTE: Para realizar el código de un arreglo dónde se muestre el nombre y el sueldo sin centavos de 20 empleados, utilizando las dos formas de iniciar un arreglo.
ResponderEliminarMUCHAS GRACIAS, ESPERO PRONTA RESPUESTA
6. Realizar un programa que a través de un arreglo unidimensional almacene el número total de Kilogramos de Arroz cosechados durante cada mes de un año. proporcionando la siguiente información.
ResponderEliminarCalcular el promedio anual de Kilogramos cosechadas
b. En cuantos y que meses se obtuvieron cosechas superiores al promedio anual
c. Que mes tuvo la mayor cosecha.
Chicos me ayudan por fa, Un curso de posgrado tiene cinco estudiantes. Cree una estructura Estudiantes con campos, nombre, edad, identificación, nota. Cree un arreglo para cinco estudiantes. En el programa principal cree un menú con las siguientes opciones: 1) Crear un estudiante, 2) Modificar un estudiante, 3) Imprimir los estudiantes matriculados. Cuando se escoja una opción se debe llamar una función que realice esa operaciones. En caso de llamar a la opción 1, y ya se hayan matriculado los cinco estudiantes, imprimir un letrero que indique que ya no se permiten más matriculas
ResponderEliminarAYUDA: Realizar un programa que me permita Que lea 10 números por teclado, 5 para un vector
ResponderEliminarA y 5 para otro vector B. Mostrar los resultados de suma, resta, multiplicación y división
de los vectores en pantalla en diferentes vectores.
me podeis ayudar ahacer un programa que te pida dos listas de numeros, si la segunda lista de numeros esta en la primera(1 lista:1,2,3,4,5,6; 2 lista: 3,4,5) el programa tiene que decir que la primera lista tiene incluida la segunda, si la segunda lista es mas grande que la primera, el programa tiene que indicar que la primera lista no puede tenr la segunda porque la segunda es mas grande.
ResponderEliminaren c++ claro
ResponderEliminarme pueden ayudar por favor como creo esto en c++ en consola
ResponderEliminar2) Crea un array de números donde le indicamos por teclado el tamaño del array, rellenaremos el array con números aleatorios entre 0 y 9, al final muestra por pantalla el valor de cada posición y la suma de todos los valores. Haz un método para rellenar el array (que tenga como parámetros los números entre los que tenga que generar), para mostrar el contenido y la suma del array y un método privado para generar número aleatorio (lo puedes usar para otros ejercicios).
Me pueden ayudar con este ejercicio por favor
ResponderEliminardado un vector de n elementos se desea averiguar si un dato existe en ese vector, el dato es ingresado por el usuario
Hola, alguien me podría ayudar con este ejercicio en c++ por favor!!
ResponderEliminarCrear un programa con funciones y librerías, que solicite 9
números enteros positivos (validar) y los almacene en una
matriz, el programa debe imprimir:
1. la suma de cada fila (cada valor se almacena en un
vector)
2. la suma de cada columna (cada valor se almacena en un
vector)
3.La suma de la diagonal principal (almacenar en una
variable)
4. solicitar un numero adicional a buscar en la lista de
números que se almacenan en la matriz, se debe mostrar un
mensaje que identifique si esta o no el numero en la matriz
Introducir un conjunto de 10 números en un arreglo y después guardarlos en un archivo de
ResponderEliminartexto, luego recuperar los datos del archivo y mostrarlos.
Ayuda por favor
Introducir un conjunto de 10 números en un arreglo y después guardarlos en un archivo de
ResponderEliminartexto, luego recuperar los datos del archivo y mostrarlos.
Hola, alguien me podria ayudar con este ejercicio por favor
ResponderEliminarCargar un vector de N elementos. imprimir los números primos y los pares y un mensaje si
se repite dentro del vector. En programa C
buenas noches a todos los participantes, un favor muy grande soy nuevo y recien estoy empezando alguien que pueda ayudarme a configurar una encuesta de 10 personas, donde se trabaje con los nombres de un string vector que ya contiene los nombres de los 10 estudiantes, y realizar 3 preguntas en el cual tenga la opcion multiple de escoger entre las 3.
ResponderEliminarmuchas gracias de antemano y por favor ayuden.
Me podrían ayudar con este programa por favor:
ResponderEliminarRealizar el programa que me permita con un vector de 8 posiciones guardar el contenido ingresado
por teclado en la memoria, mostrar solo el contenido de posición 4 del vector.
Este comentario ha sido eliminado por el autor.
Eliminarbuen dia me pueden ayudar con este ejercicio :
ResponderEliminarcrear un programa que te pida ingresar una letra de tus iniciales(por ejenplo: alberto rodriges salazar, AERS), para dibujar la letra bajo la expecificacion en pantalla de si lo deasea en mayúscula o minúncula o si lo deseas en negativo.
por ejenplo, si ingresa A en mayúsculas:
--------------------------------
A
A A
AAAAA
A A
A A
----------------------
si elige la opción de mostrario en negativo:
----------------------
AAAAA AAAAA
AAAA A AAAA
AAA AAA
AA AAAAA AA
A AAAAAAA A
----------------
eEl alumno validará en su algoridmo que solo se acepten las letas de sus iniciales.
Escriba las instrucciones para declarar las siguientes matrices y haga su gráfico.
ResponderEliminarA. Matriz de tipo float de 3 columnas y 2 filas.
B. Matriz de tipo entero de 5 filas y 3 columnas
C. Matriz de tipo entero de 4 filas y 4 columnas.
Realizar el ejercicio para almacenar en 5 arreglos las datos de los habitantes de una colonia (máximo 1000):
ResponderEliminarcurp
tipo de sangre
sexo,
numero de hijos
los 4 salarios trimestrales
Preguntar los datos de un habitante en particular e imprimirlos en pantalla
Escriba un programa que use los siguientes arreglos (tipo ):
ResponderEliminar• empId: un arreglo de siete enteros tipo long para almacenar el número de identificación de los empleados. El arreglo debe ser inicializado con los números siguientes:
5658845 4520125 7895122 8777541 8451277 1302850 7580489
Eliminaromaewa
ResponderEliminar