2. ALUMNO:
DIEGO RODRIGO JURADO ORTUÑO
TUTORA:
MSC. ING. WILMA GAVILANEZ
MODULO
PROGRAMACIÓN
SEMESTRE:
TERCER SEMESTRE
3. Un vector, también llamado ARRAY
(ARREGLO) unidimensional, es una
estructura de datos que permite agrupar
elementos del mismo tipo y almacenarlos
en un solo bloque de memoria juntos, uno
despues de otro.
A este grupo de elementos se les identifica
por un mismo nombre y la posición en la
que se encuentran. La primera posición del
array es la posición 0.
4. Podríamos agrupar en un array una serie
de elementos de tipo
enteros, flotantes, caracteres, objetos, et
c. Crear un vector en c++ es
sencillo, seguimos la siguiente sintaxix:
Tipo nombre[tamaño];
Aula[25];
int a[5];//Vector de 5 enteros
float b[5];//vector de 5 flotantes
6. Una matriz es un vector de vectores o un también
llamado array bidimensional. La manera de
declarar una matriz es c++ es similar a un vector:
ver fuente
Imprimir?
int matriz[filas][colns];
int es el tipo de dato, matriz es el nombre del todo
el conjunto de datos y debo de especificar el
numero de filas y columnas. Las matrices también
pueden ser de distintos tipos de datos como
char, float, double, etc.
7. Lasmatrices en c++ se almacenan al
igual que los vectores en posiciones
consecutivas de memoria.
Usualmente uno se hace la idea que
una matriz es como un tablero. Pero
internamente el manejo es como su
definicion lo indica, un vector de
vectores, es decir, los vectores estan
uno detras del otro juntos.
8. La forma de acceder a los elementos de la matriz es
utilizando su nombre e indicando los 2 subindices
que van en los corchetes. Si Coloco int
matriz[2][3]=10; //estoy asignando al cuarto
elemento de la tercera fila el valor 10. No olvidar que
tanto filas como columnas se enumeran a partir de 0.
Bueno y para recorrer una matriz podemos usar
igualmente un bucle. En este caso 2 for:
for(int i=0;i<filas;i++)
{
for(int j=0;j<colns;j++)
{
matriz[i][j] = i % j;
}
}
9. PUNTEROS
El valor de todas las variales que
manejamos en nuestros programas se
almacenan en memoria y tienen una
dirección. Un puntero es una variable
especial que apunta a la dirección de
memoria de una variable. El puntero
tiene a su vez su propia dirección. Todas
estas direcciones tienen un formato
hexadecimal.
10. Los punteros son herramientas muy
poderosas con muchas utilidades y
enormes ventajas como veremos más
adelante. A grandes rasgos, un puntero
me permite desplazarme en la memoria,
apuntar, re direccionar a ciertas
variables, funciones, métodos, objetos
sin necesidad de mover grandes
bloques de datos, lo cual nos ahorra
muchísimo el consumo de memoria en
los programas.
11. Un puntero se debe declarar de
acuerdo al tipo de dato al que apunta.
Ejem:
int *var; //Un puntero llamado var que
podrá apuntar a cualquier variable de
tipo entero.
char *u;//puntero de tipo char
Persona *per;//puntero de tipo persona
12.
13.
14. //Matriz que genera la serie del fibonacci
#include<conio.h>
#include<stdio.h>
int i,j, N, vec1[10], mat[10][10];
int main()
{
int a=0, b=0, c=0, k;
a=-1;
b=1;
clrscr();
gotoxy(2,2);cprintf("Ingrese el tamanio de la matriz: "); scanf("%d",&N);
//mat[0][0] = c;
// Ingreso de datos a la matriz
for(i=0; i<N; i++)
{
k = 0;
for(j=0; j<N; j++, k+=4)
{
c = a+b;
a = b;
b = c;
mat[i][j] = c;
gotoxy(5+k, 4+i); printf("%d", mat[i][j]);
}
}
getch();
return 0;
}
15.
16.
17.
18. DISEÑE UN PROGRAMA PARA
INGRESAR DATOS CON ESTRUCTURAS
DE DATOS
19. #include<stdio.h> gotoxy(10,3);printf("PROGRAMA PARA INGRESAR
#include<conio.h> DATOS CON ESTRUCTURAS DE DATOS");
#include<stdlib.h> gotoxy(8,4);printf("Ingrese el numero de
struct datos1 ingresos:");scanf("%d",&n);
{ fila=7;
char cedula[15]; for(i=1;i<=n;i++)
char nombres[15]; {
char apellidos[15]; flushall();
int edad; gotoxy(8,5);printf("CEDULA NOMBRES
} APELLIDOS EDAD");
datos[10];
void borde() gotoxy(8,fila);gets(datos[i].cedula);
{ gotoxy(25,fila);gets(datos[i].nombres);
int i; gotoxy(40,fila);gets(datos[i].apellidos);
for(i=2;i<=78;i++) gotoxy(60,fila);scanf("%d",& edad);
{ fila=fila+1;
gotoxy(i,2);printf("*"); }
gotoxy(i,24);printf("*"); gotoxy(30,13);printf("SALIDA DE DATOS");
} fila=14;
for(i=2;i<=24;i++) for(i=1;i<=n;i++)
{ {
gotoxy(2,i);printf("*"); gotoxy(8,fila);puts(datos[i].cedula);
gotoxy(78,i);printf("*"); gotoxy(25,fila);puts(datos[i].nombres);
}
gotoxy(40,fila);puts(datos[i].apellidos);
}
gotoxy(60,fila);printf("%d", edad);
void main()
fila=fila+1;
{
}
gotoxy(10,22);printf("Ingrese 1para continuar y 0
int edad ,op,i,n,fila;
para salir:");scanf("%d",&op);
do{
}
clrscr();
while(op==1);
borde();
getch();
}
20.
21.
22.
23. #include<stdio.h> for(i=1;i<=lim;i++)
#include<conio.h> {
void main() for(j=1;j<=lim;j++)
{ {
int i,j,col,fila,lim,op,a,x; col=col+2;
int matriz1[10][10]; gotoxy(col,fila);printf("%d",matriz1[i][j]);
do{ }
clrscr(); fila=fila+1;
for(i=3;i<=80;i++) col=25;
{ }
gotoxy(i,3);printf("*"); col=50;
gotoxy(i,50);printf("*"); fila=8;
} for(i=1;i<=lim;i++)
{
for(i=3;i<=50;i++)
for(j=1;j<=lim;j++)
{
{
gotoxy(3,i);printf("*");
if(i==j)
gotoxy(80,i);printf("*"); {
} gotoxy(col,fila);printf("%d",matriz1[i][j]);
col=8;fila=8; col=col+5;
gotoxy(20,3);printf("PROGRAMA PARA FORMAR UNA MATRIS fila=fila+1;
EN X"); }
gotoxy(10,5);printf("Ingrese el limite:");scanf("%d",&lim); for(a=1;a<=lim;a++)
gotoxy(10,7);printf("ENTRADA SALIDA DIAGONAL {
");
gotoxy(col,fila);printf("%d",matriz1[a][x]);
for(i=1;i<=lim;i++)
x=lim-1;
{
for(j=1;j<=lim;j++) }
{ }
gotoxy(col,fila);scanf("%d",&matriz1[i][j]); }
col=col+2; gotoxy(10,45);printf("INGRESE 1 PARA CONTINUAR Y 0 PARA
} SALIR");scanf("%d",&op);
fila=fila+1; }
col=8; while(op==1);
} getch();
col=25; }
fila=8;
35. # include<stdio.h> fil=20;
#include<conio.h> for(i=1;i<=lim;i++)
void main() {
{ v2[i]=impar*i;
int v1[20], v2[20], v3[20], v4[20], i , lim, par, impar,col,fil; gotoxy(20,15);printf("V2");
clrscr(); gotoxy(col+5,fil);printf("%d",v2[i]);
gotoxy(25,4);printf("OPERACIONES ENTRE VECTORES"); fil=fil+1;
gotoxy(10,6);printf("INGRESE EL LIMITE ==> : }
");scanf("%d", &lim);
do fil=20;
{ for(i=1;i<=lim;i++)
gotoxy(25,8); printf(" "); {
gotoxy(10,8);printf("INGRESE EL NUMERO PAR ==> : "); v3[i]=v1[i]*v2[i];
scanf("%d",&par);
} gotoxy(25,15);printf("V3");
while(par % 2==1); gotoxy(col+10,fil);printf("%d",v3[i]);
do fil=fil+1;
{ }
gotoxy(25,10); printf(" ");
gotoxy(10,10);printf("INGRESE EL NUMERO IMPAR ==> : "); fil=20;
scanf("%d",&impar); for(i=lim;i>0;i--)
} {
while(impar % 2==0); v3[i]=v1[i]*v2[i];
col=15; gotoxy(38,15);printf("V4");
fil=20; gotoxy(col+20,fil);printf("%d",v3[i]);
for(i=1;i<=lim;i++) fil=fil+1;
{
v1[i]=par*i; }
gotoxy(14,15);printf("V1");
gotoxy(col,fil);printf("%d",v1[i]); getch();
fil=fil+1; }
}
36.
37.
38.
39. Diseñe un programa utilizando Matrices y Funciones que
permita:
1. Ingresar n elementos en una matriz con datos entre 5 y
35, excluyendo las diagonales
2. principal y secundaria, en dónde la diagonal principal se
llena con la serie del Fibonnaci
3. y la diagonal secundaria con el factorial de los números
ascendentes iniciando en 3.
4. Recorra la matriz y guarde los datos de la diagonal
principal en las posiciones pares del vector
5. y los datos de la diagonal segundaria en las posiciones
impares del vector.
6. Presente como resultado el vector origen resultante y el
mismo vector preséntelo impreso en forma descendente