Arrays y Cadenas en C



Documentos relacionados
Introducción al tipo de dato ARRAY

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

Tema 9. Vectores y Matrices

TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8

Modulo 1 El lenguaje Java

Academia técnica de computación A.T.C.

Herramientas computacionales para la matemática MATLAB: Otros tipos de datos

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

11. Algunas clases estándar de Java (II)

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso v1.0 (05.03.

TIPOS DE DATOS DEFINIDOS POR EL PROGRAMADOR: Estructuras CONTENIDOS

ESTRUCTURA DE DATOS: ARREGLOS

Tema 2: La clase string

Tema 7 Vectores y cadenas de caracteres. Fundamentos de Informática

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

Vectores. 27/05/05 Programación Digital I 1

TécniquesInformàtiques PRÀCTICA 6 (2 Sessions) Curs

Se guardan en archivos con extencion c y los cabezales con extension h

by Tim Tran:

Unidad 1 Sistemas de numeración Binario, Decimal, Hexadecimal

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

Tutorial Básico de vbscript

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

2.1.- EJEMPLO DE UN PROGRAMA FORTRAN

promedio = nint((notas(1) + notas(2) + notas(3) + & notas(4) + notas(5) + notas(6)) / 6.0) print *, 'Su promedio es', promedio

Contenidos. Archivos en C++ Archivos en C++ Introducción

EDWIN KÄMMERER ORCASITA INGENIERO ELECTRÓNICO

FUNDAMENTOS DE INFORMÁTICA 1º Ingeniería Industrial

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

TIPOS DE VARIABLES EN PHP. DECLARACIÓN Y ASIGNACIÓN. LA INSTRUCCIÓN ECHO PARA INSERTAR TEXTO O CÓDIGO. (CU00816B)

Introducción a la programación orientada a objetos

Elementos léxicos del lenguaje de programación Java

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.

Vectores y matrices. Arrays Declaración Creación Acceso a los elementos de un array Manipulación de vectores y matrices

7. Manejo de Archivos en C.

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION

1 ELEMENTOS BASICOS DEL LENGUAJE

CURSO INSTALACION E IMPLEMENTACION ALOJA SOFTWARE HOTEL MODULO 04: Reservas- Planning- Cuentas del Hotel [1]

Introducción al lenguaje JAVA

EJEMPLOS DE PROGRAMACIÓN DE FUNCIONES EN C: Página 1 de 5

PRACTICA 6. VECTORES Y MATRICES.

Curso PHP Módulo 1 R-Luis

Tipos primitivos y clases de interés

Matemática de redes Representación binaria de datos Bits y bytes

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información

Herramientas computacionales para la matemática MATLAB: Arreglos

Herramientas computacionales para la matemática MATLAB: Funciones definidas por el usuario (parte II)

Esquema de un programa en C: bloques básicos

PRÁCTICA 1: INTRODUCCIÓN A LA ALGORÍTMICA BOLETIN DE PROBLEMAS RESUELTOS. (Curso 03-04)

Capítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8

Figura 1.1. Figura 1.2

EJERCICIOS DE PROGRAMACIÓN RELACIÓN VII (EJERCICIOS DE REPASO)

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.

Ejemplos de conversión de reales a enteros

Sistema binario. Representación

Kaldeera Advanced Forms 2009 Guía del usuario

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

TUTORIAL (TRANSLATE.CLASS)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

CONTENIDOS. 2. Entidades primitivas para el desarrollo de algoritmos.

SIIGO Pyme. Templates. Cartilla I

TALLER #5 ACCESS CONSULTAS. objeto Consulta en la vista lateral izquierda de la ventana Base de datos. Aparece esta ventana.

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

ARREGLOS DEFINICION GENERAL DE ARREGLO

Tema 2. El lenguaje de programación Java. Arrays y cadenas

Módulo 9 Sistema matemático y operaciones binarias

1 Estructura básica de un programa C++

Creación de Funciones de Conducción

3.- DETERMINANTES. a 11 a 22 a 12 a 21

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

Roberto Quejido Cañamero

Ahora comencemos!... Las operaciones matemáticas fundamentales pueden realizarse de forma rápida y sencilla con Miicrosofftt Excell.

Fundamentos de la Programación

Clases y Objetos. Informática II Ingeniería Electrónica

Herramientas computacionales para la matemática MATLAB: Scripts

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

SOLUCION EXAMEN junio 2006

Manual de Procedimiento

1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5.

APUNTES JAVA ARRAYS (ARREGLOS) Un arreglo es un grupo de posiciones de memoria contiguas. Todas las cuales tienen el mismo nombre y el mismo tipo.

Introducción a la Computación TFA

Funciones mas importantes para el manejo de Caracteres

Entrada y salida de datos en C y C++

Clase 2: Operaciones con matrices en Matlab

TEMA 2: Representación de la Información en las computadoras

1. Visualización de datos con Octave

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

Práctica 2: Simón dice

5.4. Manual de usuario

PHP y MySQL. Indice: Switch Bucles For While do...while

GUÍA Nro. 1 TECNOLOGÍA DE INTERNET. TIII PIII

Programación Avanzada para Sistemas de Telecomunicación Arrays

Práctica 0. Emulador XENON de la computadora CESIUS

Ingeniería Superior de Informática

Práctica 1 - Pista de Carreras Programación II

Instructivo de Microsoft Excel 2003

Transcripción:

Arrays y Cadenas en C Los arrays son variables estructuradas, donde cada elemento se almacena de forma consecutiva en memoria. Las cadenas de caracteres son declaradas en C como arrays de caracteres y permiten la utilización de un cierto número de notaciones y de funciones especiales. Arrays de una dimensión Un array (unidimensional, también denominado vector) es una variable estructurada formada de un número "n" de variables simples del mismo tipo que son denominadas los componentes o elementos del array. El número de componentes "n" es, entonces, la dimensión del array. De igual manera que en matemáticas, decimos que "A" es un vector de dimensión "n". El formato para declarar un array unidimensional es: tipo nombre[n]; donde: n >= 1 Para acceder a un elemento del array: nombre[i]; donde: 0 <= i < n Por ejemplo, la declaración: int A[4]; define un array de tipo entero de dimensión 4. Y ya podríamos acceder al primer componente del array por medio de: A[0], al segundo elemento por: A[1] y al último elemento por A[3]. En C, un array se utiliza básicamente cuando queremos tener, por ejemplo, una secuencia de números reunidos en una sola variable. Para inicializar un array, podemos hacer lo siguiente: 1

for (i = 0; i< 4; i++) A[i] = i; Otra manera de inicializar un array es asignándole los valores iniciales entre llaves de la siguiente: int A[4] = {0, 1, 2, 3}; Si no se inicializa explícitamente el array no se puede estar seguro del valor que contienen los elementos del mismo. Arrays de dos dimensiones Un array en C puede tener una, dos o más dimensiones. Por ejmplo, un array de dos dimensiones también denominado matriz, es interpretado como un array (umidimensional) de dimensión "f" (número de filas), donde cada componente es un array (unidimensional) de dimensión "c" (número de columnas). Un array de dos dimensiones, contiene, pues, "f*c" componentes. El formato para declarar un array multidimensionales: int nombre[f][c] ; donde: f,c...>= 1; Para acceder a un elemento del array multidimensional: nombre[i][j]; donde: 0 <= i < f ; 0 <= j < c; 2

Durante la declaración de un array multidimensional también podemos inicializar sus componentes indicando la lista de los valores entre llaves. En el interior de la lista, los componentes de cada línea del array son encerrados nuevamente entre llaves. Para hacer más cara la visibilidad de los elementos del array, podemos indicarlos en varias líneas. int A[3][4] ={{ 0,1,2,3}, { 1,2,3,4}, { 2,3,4,5}}; Sin embargo, es mucho más conveniente anidar dos ciclos para inicializar un array de dos dimensiones: for (i = 0; i< 3; i++) for (j = 0; j< 4; j++) A[i][j] = i+j; Cadenas de caracteres En C no existe un tipo predefinido para manipular cadenas de caracteres (string). Sin embargo, el estándar de C define algunas funciones de biblioteca para tratamiento de cadenas. Una cadena en C es un array de caracteres de una dimensión (vector de caracteres) que termina con el carácter especial \0 (cero). El formato para declarar una cadena es: char nombre[n]; donde: n >= 1 y representa a la longitud-1 real de la cadena. Un ejemplo de declaración de cadena: char cadena [5]; Debido a que en la representación interna de una cadena de caracteres es terminada por el símbolo '\0', para un texto de "n" caracteres, debemos reservar "n+1. El carácter '\0', aunque pertenece a la cadena, no aparece al utilizar funciones como printf. En el caso especial de los arrays de caracteres, podemos utilizar varias formas de inicialización: char cadena[] = "Hola"; char cadena[] = {'H','o','l','a',0}; char cadena[] = {'H','o','l','a','\0'}; sin especificar el tamaño de la cadena, o especificando el tamaño: 3

char cadena[5] = "Hola"; char cadena[5] = {'H','o','l','a',0}; char cadena[5] = {'H','o','l','a','\0'}; Durante la inicialización, se reserva automáticamente el número de bytes necesarios para la cadena, esto es, el número de caracteres más uno. Por ejemplo: Para acceder a un elemento de una cadena de caracteres puede hacerse de la misma manera que el acceso al elemento de un array. cadena[i]; donde: 0 <=i < n Por ejemplo: La biblioteca string tiene una gran cantidad de funciones prácticas para trabajar con cadenas de caracteres. Para utilizarlas debemos de incluir el fichero que define los prototipos de dichas funciones: #include <string.h> Algunas de las funciones más importantes son: strlen(<cadena>): Devuelve la longitud de la cadena sin tomar en cuenta el caracter de final de cadena. strcpy(<cadena_destino>, <cadena_origen>) : Copia el contenido de <cadena_origen> en <cadena_destino>. strcat(<cadena_destino>, <cadena_origen>) : Concatena el contenido de <cadena_origen> al final de <cadena_destino>. strcmp(<cadena1>, <cadena2>) : Compara las dos cadenas y devuelve un 0 si las dos cadenas son iguales, un número negativo si 4

<cadena1> es menor que (precede alfabéticamente a) <cadena2> y un número positivo (mayor que cero) si <cadena1> es mayor que <cadena2>. A diferencia de los arrays de tipos de datos numéricos (arrays de enteros, de números con punto decimal, etc.), en donde cada elemento del array se debe considerar como una variable independiente de los demás, los arrays de caracteres (cadenas) se pueden manipular de dos maneras: de forma conjunta o separada. Por ejemplo, para mostrar en pantalla un array de caracteres podemos hacerlo dentro de un bucle, desde el primer caracter (indice 0) hasta el último carácter (lo que nos devuelve la función strlen): for(i=0; i<strlen(cadena); i++) printf("%c",cadena[i]); Existe una mejor manera de mostrar en pantalla una cadena, y es utilizando el carácter de conversión %s: printf("%s",cadena); 5