Uso de Arreglos en C para Organizar Datos de Cafetería
Resumen
¿Qué son los arreglos en C y para qué sirven?
¡Bienvenido al fascinante mundo de los arreglos en C! Estos elementos son increíblemente poderosos y nos permiten almacenar múltiples valores en una única variable. Su principal ventaja radica en el orden y la organización que proporcionan en el código. Imagina que estás programando un menú para una cafetería. Podrías crear una variable para cada tipo de café y su precio, pero eso resultaría en un código voluminoso y desordenado. Con un arreglo, puedes almacenar todos los tipos de café y sus respectivos precios de manera ordenada y eficiente. Es importante mencionar que en un arreglo se pueden modificar los elementos, pero no se pueden agregar ni eliminar durante la ejecución del programa. Para esa funcionalidad, se utilizan listas.
¿Cómo se declara un arreglo en C?
Para comenzar a trabajar con arreglos, lo primero es declararlos. Un arreglo en C se considera como una variable especial que puede almacenar varios valores. A continuación, te demuestro cómo puedes declarar arreglos para almacenar tipos de café y sus precios.
Ejemplo de declaración de arreglos
string[] coffeeTypes;float[] coffeePrices;
Cada variable está declarada usando camelCase como es debido. En este caso, se han declarado dos arreglos: coffeeTypes (tipos de café) y coffeePrices (precios del café).
¿Cómo inicializar y usar un arreglo?
La inicialización de un arreglo implica asignar valores a los elementos del mismo. Veamos cómo se hace esto en C.
Inicialización de arreglos
coffeeTypes = new string[]{"Expreso","Largo","Filtrado","Late"};coffeePrices = new float[]{1.2f,1.5f,5.0f,5.5f};
Los valores están separados por comas y se declaran dentro de llaves. En este caso, cada tipo de café tiene un precio asociado.
¿Cómo podemos imprimir los valores de un arreglo?
Visualizar los valores de un arreglo es una de las tareas más comunes y necesarias. Se puede hacer fácilmente utilizando un ciclo for.
Ejemplo de impresión de un arreglo
for(int i =0; i < coffeeTypes.Length; i++){ Console.WriteLine($"Coffee: {coffeeTypes[i]}, Price: {coffeePrices[i]}");}
Este ciclo for recorre los índices del arreglo e imprime cada elemento correspondiente de coffeeTypes y coffeePrices. Aquí, i actúa como el índice que va desde 0 hasta Length - 1.
¿Cómo modificar elementos en un arreglo?
Si necesitas cambiar un elemento en un arreglo, puedes hacerlo de manera sencilla accediendo a su índice. A continuación te muestro cómo podrías renombrar un tipo de café.
Modificación de elementos
coffeeTypes[1]="Lungo";
En este ejemplo, el tipo de café en el índice 1 (originalmente “Largo”) se cambia a “Lungo”. Esta operación es eficiente y sencilla gracias a la estructura del arreglo.
Ventajas de usar arreglos en C
Usar arreglos simplifica la gestión de un conjunto de datos homogéneo en tu código. Estas son algunas ventajas:
Organización: Mantener todos los elementos relacionados en un solo lugar hace el código más limpio y fácil de entender.
Simetría: Modificar fácilmente el valor de un elemento a través de su índice.
Eficiencia: Acceder a los elementos es muy rápido utilizando índices.
Flexibilidad para cambios: Cambiar el nombre o características de elementos del arreglo sin afectar la estructura del programa.
Los arreglos son solo el comienzo en el manejo de elementos similares en C. Pronto exploraremos herramientas aún más poderosas, como las listas, que ofrecen mayor flexibilidad al agregar y eliminar elementos dinámicamente. ¡Anímate a seguir explorando y practicando con arreglos para mejorar tus habilidades!
otra forma de concatenar cadenas a partir de .net core 5
Para ser precisos, esta feature es de C# 6, no de la version .net core como tal.
Tambien la puedes usar en Mono o similares.
Gracias por el aporte :)
Formas de definir un Array o Matrices
Sin especificar número de espacios.
int[] array1;
Declarando numero de espacios, se inicializa el array con el numero de espacios mediante new.
int[] array2 = new int[5];
Numero de espacios y valores, establecemos el numero de espacios y el valor de cada uno en la misma declaración.
int[] array3 = new int[3] { 3, 5, 10};
Sin especificar numero de espacios, el numero de espacios del array de define mediante el numero de valores en la declaración.
int[] array4 = { 4, 9, 5, 1 };
Siendo este ultimo el que se muestra en la clase
Muy bien explicado👍
Gracias por el dato
Importante recordar, los arreglos tienen un length, que es el tamaño real de tu arreglo, por ejemplo:
string[] coffeTypes =newstring[4];
En este caso tenemos un arreglo de tamaño 4, lo que significa que el último dato en este arreglo será el índice 3.¿Por qué?
Porque los arreglos comienzan desde índice 0, hasta el length - 1. en este caso, 3.
Por lo tanto si yo hago un ciclo cualquiera, como un for, debo hacerlo hasta el tamaño del arreglo < 1, es decir, el término del ciclo debe ser cuando tengo un valor igual al length o mayor.
Por ejemplo
for(int i =0; i <4; i++){}
También importante recordar que los arreglos tienen integrados de manera implícita el length que tienen, por esto es que tambien funciona lo siguiente:
aquí pueden encontrar mas información sobre foreach
Café se escribe con dos "e" al final, "Coffee". Buena Clase. 👍🏻
Buenas tardes.
Tengo una pregunta, Cómo se habilita el intellisense para asistir al autocompletado en las declaraciones y sintaxis básicas?, gracias !
x2
Acá les dejo la documentación oficial para que vayan complementando lo aprendido con ella. Por cierto es muy buena práctica ir leyendo la documentación, sobretodo si estamos iniciando con algún lenguaje o tecnología.
https://docs.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/
Que editor usas, o que tema?
visual studio 2022 community es la que tengo y el ide baje uno de la pagina de estilos de la pagina de https://studiostyl.es/
Otra forma de recorrer un arreglo con foreach
string[] coffeTypes ={"Cappuccino","Mocca","Expresso","Americano"};foreach(var item in coffeTypes){Console.WriteLine(item);}
Bien, pero como harías para realizar la impresión del valor de cada item?
Cómo puedo cambiar esto que borra la letra que está delante es muy fastidioso.
Al parecer presionaste a tecla INS, búscalo en tu teclado, presiónalo nuevamente y todo estará bien.
compañeros, muy buenas noches, tengo una duda, al realizar el for, me genera la siguiente excepción:
¿No será porque el profesor escribió 3 en el for y ahí tienes el nombre del Array? Deberías modificarlo a ver que sucede. (No sé si funcione, pero es la única diferencia visual que veo).
Hola Giovanni, no logro replicar el error. Podrían compartir el código completo?
Por que no usa brackets para la sentencia for?
En algunos lenguajes, cuando es una sola la linea a ejecutarse dentro del bloque for, se puede obviar los brackets.
Complementando la respuesta de profesor Antonio la misma regla aplica tambien para los bucles while y la estructura de control if
no me deja seguir por que me dice que el nimbre i no ha sido declarado en el contexto actual... y veo que a los demas no les sale eso .. que debó hacer ?
Hola Alfonso,
¿Podrías adjuntar por fa un pantallazo de tu código?
Tuve el mismo error. En mi caso había puesto en punto y coma al finalizar el For, así que lo quité y solo puse un punto y coma al finalizar el console.write.
uqe tipo de auto completado usa el profe, tabnine, Emmet etc??
x2
Les comparto mi codigo:
using System;namespace _14_Arreglos
{classProgram{staticvoidMain(){Console.WriteLine("************ Coffee Shop Platzi ************"); string[] coffeeTypes; float[] coffeeValues; coffeeTypes =newstring[]{"Express","Largo","Filtrado","Latte"}; coffeeValues =newfloat[]{1.2f,1.5f,5.0f,5.5f };for(int i =0; i < coffeeTypes.Length; i++){Console.WriteLine($"☕️ Cafe { coffeeTypes[i] }: ${ coffeeValues[i] }");}}}}
Los arreglos en C# son una colección de variables del mismo tipo de datos. Pueden ser declarados de la siguiente manera:
int[] myArray =newint[5];// Declara un arreglo de enteros con 5 elementos
También se pueden inicializar al momento de declarar
int[] myArray =newint[]{1,2,3,4,5};// Declara un arreglo de enteros con los valores 1, 2, 3, 4 y 5
o
int[] myArray ={1,2,3,4,5};// Declara un arreglo de enteros con los valores 1, 2, 3, 4 y 5
Para acceder a un elemento específico del arreglo, se utiliza el índice del elemento, que comienza en 0. Por ejemplo:
int[] myArray ={1,2,3,4,5};int thirdElement = myArray[2];// thirdElement es igual a 3
Los arreglos en C# tienen varios métodos y propiedades útiles, como Length, que devuelve la cantidad de elementos en el arreglo, o Sort() que ordena los elementos del arreglo.
int[] myArray ={5,3,8,1,4};int arrayLength = myArray.Length;// arrayLength es igual a 5Array.Sort(myArray);//myArray es ahora {1,3,4,5,8}
using System;namespace ArrayDemoProject{classProgram{staticvoidMain(string[] args){Console.WriteLine("Hello World!"); string[] coffeTypes; float[] coffeValues; coffeTypes =newstring[]{"Expresso","Largo","Filtrado","Latte"}; coffeValues =newfloat[]{1.2f,1.5f,5.0f,5.5f };for(int i =0; i < coffeTypes.Length; i++){Console.WriteLine($"{coffeTypes[i]} Coffe ${coffeValues[i]}");}}}}
Esta es otra forma de agregar valores/datos a tu Array en .NET 6