Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ARREGLOS
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;
1
Arreglos Unidimensionales
tipo nombre_variable[tamaño];
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
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
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));
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){....}
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
$./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
.....................
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];