Está en la página 1de 23

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE EXTENSIÓN LATACUNGA

ARREGLOS

CARRERA DE INGENIERÍA DE ELECTROMECÁNICA

JOSÉ LUIS CARRILLO M.


2018
Arreglos

• Un arreglo es un conjunto de variables del


mismo tipo que poseen un nombre común
concatenado a un índice.
• El índice permite acceder directamente a un
elemento particular de un arreglo.
• Los arreglos en lenguaje C se almacenan en
celdas de memoria contiguas.
• Pueden tener 1 o más dimensiones.

1
Arreglos unidimensionales
• La forma general de declaración:
tipo nombre_variable[tamaño];
• La cantidad de memoria en bytes se puede
obtener con la función:
numero_bytes = sizeof(tipo)*tamaño;

• El 0 es el índice del primer elemento de un


arreglo.

1
Arreglos Unidimensionales

tipo nombre_variable[tamaño];

elemento 0 elemento 1 elemento n-1

Ejemplo:
Realizar un programa en el que se ingresen 10
enteros, y luego se sumen sus elementos. Mostrar el
resultado.

1
Ejemplo
#include <stdio.h>
int main(){
int x[10];
int i,suma;
for (i=0;i<10;i++){
printf ("Ingresar entero: ");
scanf("%d",&x[i]);
}
suma=0;
for (i=0;i<10;i++)
suma+=x[i];
printf(" El resultado de la suma es = %d\n",suma);
return 0;
}

1
Arreglos Unidimensionales
• Ejercicios:
- Crear un programa al cual se le ingrese un
conjunto de caracteres.
- Calcular el promedio en un arreglo de largo L el
cual no está lleno completamente.

1
Paso de Arreglos unidimensionales a
funciones
• Forma 1: Arreglo delimitado
#include <stdio.h>
func1(int x[100]){
.........
}
Se debe especificar el tamaño
int main(){
int a[100];
del arreglo
…..
func1(a);
……... Se pasa la dirección del primer
return 0; elemento del arreglo a la función
}

1
Paso de Arreglos unidimensionales
a funciones
• Forma 2: Arreglo no delimitado
#include <stdio.h>
func1(int x[]){
……...
}
int main(){ No se especifica el tamaño del
int a[10]; arreglo
…..
func1(a);
……...
return 0;
}

1
Paso de Arreglos unidimensionales
a funciones
• Nota:
– Al llamar una función pasándole un arreglo como
parámetro, como se le entrega la dirección del
primer elemento, entonces si los valores del
arreglo son modificados dentro de la función,
también son modificados en la función que llama.

1
String
• Es el uso más común de arreglo
unidimensional.
• En C un string es un arreglo de caracteres
que terminan en un caracter nulo: ‘\0’.

1
String
• Declaración:
– Se declaran como arreglos unidimensionales.
– Debe contener 1 carácter más que la cadena más
larga más larga que pueda contener.

char cadena[6]; 0 1 2 3 4 5
\0

Puede contener hasta Caracter que marca el fin del string


5 caracteres

1
Strings

Constante de cadenas:
– Es una secuencia de uno o más caracteres
encerrado entre comillas.
– Ejemplo: “informatica”

1
Biblioteca de funciones de
Manejo de cadenas
Función Prototipo Acción Retorna
strcpy() char *strcpy(char *s1,const char *s2); Copia s2 en s1. s1
strcat() char *strcat(char *s1,const char *s2); Concatena s2 en s1. s1
strlen() int strlen(const char *s1); Longitud de s1
strcmp() int strcmp(const char *s1,const char *s2); Compara s2 con s1 0 si son iguales
>0 si s1>s2
<0 si s1<s2

Biblioteca: string.h

Las cadenas o string no son un tipo de dato en C, por lo tanto, las


operaciones sobre cadenas se realizan mediante funciones de
biblioteca que ahorran el trabajo byte a byte (podemos crear otras).
Ejemplo
#include <string.h>
#include <stdio.h>

int main(void){
char c1[64,c2[64];

printf("Ingrese un string:");
scanf("%s",c1);
printf("Ingrese un string:");
scanf("%s",c2);

printf("Longitudes: %d %\n",strlen(c1),strlen(c2));

if(!strcmp(c1,c2)) printf("Son iguales\n");


strcat(c1,c2);
printf("%s\n",c1);

return 0; 1
}
Strings
Ejercicio:
- Realizar un programa que convierta dentro de un
string, las mayúsculas a minúsculas, minúsculas a
mayúsculas y sumar los dígitos.

1
Arreglos de punteros
Un puntero es una variable, por lo tanto puede
ser almacenado en un arreglo.
Declaración:
tipo *nombre_variable[tamaño];

xyz xyz
Qwertyuiopasdfg Qwertyuiopasdfg
Abcdefghi Abcdefghi

1
Punteros a punteros:
argumentos de la función main()
Dos formas equivalentes para declarar los argumentos:
main(int argc, char **argv){....}

main(int argc, char *argv[]){....}

Ejemplo: $z ertyuiopasdfg cdefghi


argv:
z\0

ertyuiopasdfg\0

cdefghi\0
0
1
Argumentos de main()
• El estándar ANSI define dos argumentos de
main(): argc y argv.
• Permite pasar información al programa de C
mediante argumentos de línea de órdenes.
./programa argumento1 argumento2 ….

Línea de órdenes

• argc : contiene el número de argumentos, y


es entero.
• argv : es un puntero a un arreglo de
caracteres. 23
Argumentos de main() (cont.)
#include <stdio.h>

int main(int argc, char *argv[]){


int i;
for(i=0;i<argc;i++){
printf(“El argumento %d es: %s”,i,argv[i]);
return 0;
}

$./programa aaa bb
El argumento 0 es: ./programa
El argumento 1 es: aaa
El argumento 2 es: bb

23
Arreglos Bidimensionales
Definición:
– Es un arreglo de dos dimensiones (2 índices).
A[i][j]
Declaración:

tipo nombre_variable[tamaño_1][tamaño_2];

1
Arreglos Bidimensionales
• Una matriz bidimensional tiene la forma
siguiente:
a11 a12 ............ a1n
a21 a22 ............ a2n
.....................

am1 am2 ............ amn


• Para acceder al dato aij se hace de la
manera siguiente:
c=a[i][j];

1
Arreglos Bidimensionales
Ejercicios:
- Hacer un programa que lea en los enteros n y m
– las dimensiones y luego leer la matriz de enteros
por fila. Mostrarla en sistema gráfico.
- Se desea controlar los resultados de los alumnos
en las diferentes asignaturas. El programa debe
leer las notas obtenidas de las distintas
asignaturas y visualizarlas en la pantalla en
número, nombre, calificaciones y promedio del
estudiante. Visualizar el promedio general por
cada asignatura. Mostrarla en sistema gráfico.

1
Arreglos Multidimensionales
• Definición:
– Es un arreglo con k-dimensiones, el cual está
indexado por medio de k índices.
A[m]….[n]

k
• Declaración:
tipo nombre_variable[tamaño_1]...[tamaño_k];

También podría gustarte