Arreglos bidimensionales o matrices

1. 1. Una matriz es un vector de vectores, oconjunto de elementos siempre del mismo
tipo.
2. 2. Cada elemento es una casilla, con posición:elemento [1:8,a:h]; dependiendo de la
fila y columnadonde encuentren.
3. 3. ELEMENTOS DE LA MATRIZPara identificar los elementos de la matriz, se
utilizan dossubíndices: El primero, indica la fila donde se ubica. El segundo,
indica en qué columna está.Por ejemplo: M[2,3]Se refiere al elemento ubicado en la
segunda fila y terceracolumna.
4. 4. LÍMITES DE LOS SUBÍNDICES DE LA MATRIZUn array bidimensional,
posee límites: superior,e inferiorpara su número de filas y columnas.De ahí
que:B(L1:U1,L2:U2)={B[I,J]}L<-Límite inferior ; U<-límite superiorDonde L1<-
I<-U1 L2<-J<-U2Cada elemento B[I,J] es de tipo TEl número de elementos de la
fila es B es U2-L2+1 y elnúmero de elementos de la columna B ES U1-L1+1; por
elloel número de elementos del array es (U2-L2+1)*( U1-L1+1)
5. 5. DECLARACIÓN DE UNA MATRIZUna matriz se declara usando el siguiente
formato: <TIPO> <NOMBREmatriz> [<N>][<M>] ;Por ejemplo: Se quiere
declarar una matriz con nombremat, de dimensión 15x4 y que pueda almacenar
datos de tipocarácter. char mat [15][4];
6. 6. Por ejemplo, una matriz bidimensional se puede imaginar comouna tabla
bidimensional compuesta de elementos, todos ellos deun mismo tipo de datos
uniforme.jimmy representa una matriz bidimensional de 3 por 5 elementosde tipo
int. La manera de declarar esta matriz en C + + sería: int jimmy [3][5];y, por
ejemplo, la manera de hacer referencia al segundo elementovertical y horizontal en
el cuarto una expresión sería:jimmy[1][3](Recuerde que los índices comienzan
siempre por cero).
7. 7. ASIGNACIÓN DIRECTA DE ELEMENTOS DE UN ARREGLO
BIDIMENSIONAL ( Inserción de elementos) <nombre del arreglo> [índice de
fila][índice de columna] = valor del elemento;
8. 8. FORMATO DE ASIGNACIÓN DIRECTA A UNARREGLO
BIDIMENSIONAL (extracción de elementos)  <identificador variable> =<nombre
delarreglo>[índice de fila][índice de columna];
9. 9. Dadas las siguientes definiciones de arreglo bidimensional, dibuje un diagrama
de la estructura del arreglo mostrando los índices respectivos de filas y columnas.
int voltaje[CORRIENTE][RESISTENCIA]; const int CORRIENTE = 26; const
int RESISTENCIA = 1001;Las asignacion directa posibles para la inserción de
unvalor eso:voltaje[2][10] = 20;Observe que este valor de voltaje corresponde a un
valorde corriente de 2 y un valor de resistencia de 10 cuandose usa la ley de Ohm
10. 10. Asignar datos a elementos de una Matriz los enunciados de asignación directa
para extraer elementos son:volts = voltaje[5][100];En este caso se asigna a un
identificador variable el valordel elemento almacenado en la posición
fila/columnadentro del arreglo.
11. 11. INICILIZACION DE UNA MATRIZEs posible declarar e inicializar un arreglo
en una misma vez.Por ejemplo: b[2][2]int b[2][2] = { {1, 2}, {3, 4} };Los valores se
agrupan por filas entre corchetes. Por lotanto, 1 y 2 inicializan a b[0][0] y b[0][1] y

3 y 4 inicializan ab[1][0] y b[1][1] Si no hay suficientes inicializadores para una
fila determinada, los elementos se inicializan a 0. Por lo tanto, la declaración:int
b[2][2] = { {1}, {3, 4} };inicializan a b[0][0] a 1, y b[0][1] a 0, b[1][0] a 3, y b[1][1]
a 4.
12. 12. LECTURA Y ESCRITURA DE ELEMENTOS EN ARREGLOS
BIDIMENSIONALESEs posible usar enunciados cin para insertar elementosen
arreglos bidimensionales y utilizar enunciados coutpara extraer elementos del
arreglo, como los siguientesejemplos: cin >> voltaje[5][20]; cout <<
voltaje[5][20];
13. 13. Ejemplo: Este ejemplo nos presenta el menú , en un restaurante:#include
<iostream>using namespace std;#define DIMENSION ((int) (sizeof mst / sizeof mst
[0]))struct St { int orden; char* plato; char* desc;} mst [] = { 1, "Entrada", "Sopa
juliana", 2, "Segundo", "Filete empanado", 3, "Postre ", "Tarta al Whisky",};int
main() { for (int i = 0 ; i < DIMENSION; i++) cout << mst[i].orden << " " <<
mst[i].plato << " " << mst[i].desc << endl; return 0;}
14. 14. CÓMO RECORRER UNA MATRIZ?Para recorrer una matriz necesitamos dos
bucles anidados. Por ejemplo, sise desea recorrer todos los elementos de la matriz A
por filas, se escribirándos sentencias for anidadas:for i=1: nfilasA % para cada
filafor j=1: ncolsAsentenciasendendTambién es posible recorrer la matriz por
columnas:for j=1: ncolsA % para cada columnafor i=1: nfilasAsentenciasendend
15. 15. ALMACENAMIENTO DE ARRAYS ENMEMORIAEl almacenamiento en
memoria, está dispuesto ensecuencia contigua de modo que cada acceso
debeconvertir la posición dentro del array en una posicióndentro de una línea.
16. 16. Lee los datos de una matriz 3x4 y muestra en pantalla la suma de los datos de
cada fila#include <iostream>#include <stdlib.h>#include <conio.h>using
namespace std;/*Este programa lee los datos de una matriz 3x4 y muestra en
pantallala suma de los datos de cada fila */int main(){int matriz[3][4];int
arreglo[3];int i,j;//Ingreso de los datosfor (i=0;i<3;i++) { for (j=0;j<4;j++) {
17. 17. cout << "Ingrese el numero entero correspondiente a la posicion ["<<i<<"]
["<<j<<"]: "; cin >> matriz[i][j]; } }//Muestra en pantalla la matriz ingresadacout
<< "nLa matriz que usted ingreso es: nn"; for (i=0;i<3;i++) { for (j=0;j<4;j++) {
cout << matriz[i][j]<<" "; }cout << "n"; }//Suma los datos de cada filafor
(i=0;i<3;i++) { arreglo[i]=0; for (j=0;j<4;j++) { arreglo[i]=arreglo[i]+matriz[i][j]; }
}//Muestra en pantalla los resultadosfor (i=0;i<3;i++) { cout << "nLa suma de los
datos de la fila "<<i<<" es: " << arreglo[i]; }getch();}
18. 18. Operaciones con matrices:Al igual que en matemática, las operaciones
conmatrices, se ejecutan de la siguiente manera:En teoría se hace así (suma):
19. 19. Suma y Resta de Matrices#include <iostream.> #include <stdlib.h> using
namespace std; int operacion(int [][100], int [][100], int [][100], int , int , int, int,
int); int main() { int n,f,c,r,f1,f2,c1,c2, m1[100][100], m2[100][100], mr[100][100];
cout<<"Presione 1 para Sumar"<<endl<<"Presione 2 para Restar"<<endl<<"
Presione otro numero paraSalir"<<endl; cin>>n; while ((n>0) && (n<3)) { f1=0;
c1=0; f2=0; c2=0; while ((f1<1) || (f1>101)) { cout<<"Introduce las filas de la
matriz 1 [1-100]: "; cin>>f1; } while ((c1<1) || (c1>101)) { cout<<"Introduce las
columnas de la matriz 1 [1-100]: "; cin>>c1; } for (f=0; f<=f1; f++) { for (c=0;
c<=c1; c++) { cout<<"m1["<<f<<"]["<<c<<"] = "; cin>>m1[f][c]; } }

20. 20. while ((f2<1) || (f2>101)) { cout<<endl<<"Introduce las filas de la matriz 2 [1-
100]: "; cin>>f2; } while ((c2<1) || (c2>101)) { cout<<"Introduce las columnas de la
matriz 2 [1-100]: "; cin>>c2; } for (f=0; f<=f2; f++) { for (c=0; c<=c2; c++) {
cout<<"m2["<<f<<"]["<<c<<"] = "; cin>>m2[f][c]; }
}r=operacion(m1,m2,mr,n,f1,f2,c1,c2); if (r==-1) cout<<endl<<"No se pudo
realizar la operacion; las matrices no son del mismo tamanio"<<endl; else { for
(f=0; f<=f2; f++) { for (c=0; c<=c2; c++) cout<<" "<<mr[f][c]<<" "; cout<<endl; }
} cout<<endl<<"1 -- Sumar"<<endl<<"2 -- Restar"<<endl<<"Otro numero --
Salir"<<endl; cin>>n; } cout<<endl<<"Fin de programa..."<<endl;
system("PAUSE"); return 0; }
21. 21. int operacion(int m1[][100], int m2[][100], int mr[][100], int n, int f1, int f2,int
c1, int c2) { int f,c; if ((f1==f2) && (c1==c2)) //si si se pueden sumar/restar { if
(n==1) //suma { for (f=0; f<=f1; f++) { for (c=0; c<=c1; c++) mr[f][c] = m1[f][c] +
m2[f][c]; } } else //resta { for (f=0; f<=f1; f++) { for (c=0; c<=c1; c++) mr[f][c] =
m1[f][c] - m2[f][c]; } } return 1; } else {return -1;} }

Recomendado

Cómo gestionar mejor tu tiempo

Arrays Bidimensionales y Multidimensionales - Carlos Correa

Carlitos Correa Jr.

17 arreglos bidimensionales java

Clara Patricia Avella Ibañez

Arreglos unidimensionales y bidimensionales

Guillermo Manuel

Arreglos Bidimensionales - Java - NetBeans

Daniel Gómez

Aplicación de arreglos bidimensionales

marigelcontreras

Arreglos en C

Ronny Parra

Arreglos c++ Johnny Paucar  Ejercicios de matrices y vectores en c++ Diego Maxdj Chicaiza  Arreglos en pseudocodigo 01 Emerson Emet  English  Español  Português  Français  Deutsch  Acerca de  Desarrolladores y API  Blog .

tabla[x]). } system("PAUSE").h> #include <stdlib. for (x=1.x++) { tabla[x]=x. Realice un programa en C: 1. } for (x=1. return 0.h> int main(void) { int x.h> #include <stdlib.x++) { printf("%d\n".h> .  Condiciones  Privacidad  Copyright  Atención al cliente      LinkedIn Corporation © 2017 Pues como viene siendo habitual os dejo la solución de los mismos.x<=100.tabla[100]. #include <stdio. #include <stdio. Que rellene un array con los 100 primeros números enteros y los muestre en pantalla en orden descendente. Que rellene un array con los 100 primeros números enteros y los muestre en pantalla en orden ascendente.x<=100. } 2.

cont.tabla[x]). i++.x<=100. } system("PAUSE").i.tabla[100].z<=x. } 3. for (z=1. for (x=1.x>=1.x++) { cont=0.int main(void) { int x. } } .x<=100. return 0.h> #include <stdlib. for (x=1. #include <stdio. Que rellene un array con los números primos comprendidos entre 1 y 100 y los muestre en pantalla en orden ascendente.x++) { tabla[x]=x. i=0.x--) { printf("%d\n".z++) { if (x%z==0) { cont++. } for (x=100. } } if (cont==2 || z==1 || z==0) { tabla[i]=x.h> int main(void) { int x.tabla[100].z.

tabla[x]).x<=100.x++) { printf("%d\n". i++.x<i. } } for (x=0. } 4.h> int main(void) { int x.cont.h> int main(void) .x<i. return 0. } 5. i=0.tabla[x]). Que rellene un array con los números pares comprendidos entre 1 y 100 y los muestre en pantalla en orden ascendente. #include <stdio. for (x=0. #include <stdio. Que rellene un array con los números impares comprendidos entre 1 y 100 y los muestre en pantalla en orden ascendente.i. } system("PAUSE"). for (x=1.z. if (x%2==0) { tabla[i]=x.x++) { cont=0.x++) { printf("%d\n".h> #include <stdlib. } system("PAUSE"). return 0.tabla[100].h> #include <stdlib.

Que lea 10 números por teclado. multiplicación y división de todos.res.h> #include <stdlib.x<i. for (x=0. div=tabla[0]. } system("PAUSE"). for (x=1. } sum=tabla[0].i. i++. scanf("%d". los almacene en un array y muestre la suma. mul=tabla[0].tabla[x]). i=0. for (x=1.x<10.z. } 6.x++) { printf("%d\n".x++) { printf("Introduzca número\n").tabla[10].{ int x. #include <stdio. resta.cont. if (x%2==1) { tabla[i]=x.div.tabla[100]. } } for (x=0.x<=100. int sum.mul.x<10. res=tabla[0]. return 0.h> int main(void) { int x.x++) { .&tabla[x]).x++) { cont=0.

j. Que lea 10 números por teclado.i++) { for(j=i+1. sum=sum+tabla[x]. numeros[j]=aux. int i. los almacene en un array y los ordene de forma ascendente. numeros[10].div).h> #include <stdlib.res).i++){ printf("Escriba un número"). } } } for (i=n-1.i>=0.i--){ printf("%f\n". return 0. printf("Resta: %d\n". } for(i=0.h> int main() { float aux. mul=mul*tabla[x].j++) { if(numeros[i]<numeros[j]) { aux=numeros[i].sum).j<n. printf("Multiplicación: %d\n".numeros[i]).mul). numeros[i]=numeros[j]. for (i=0. div=div/tabla[x]. printf("División: %d\n".n=10.&numeros[i]). } 7. #include <stdio. res=res-tabla[x]. } . scanf("%f".i<n.i<n-1. system("PAUSE"). } printf("Suma: %d\n".

. #include <stdio. int i. return 0.i<5. } for (i=0. } for(i=0.h> int main() { int aux. } for(i=0.numeros3[i]). } system("PAUSE"). } 8.i<5. system("PAUSE"). scanf("%d". Que lea 5 números por teclado.j.i++) { numeros3[5+i]=numeros2[i]. scanf("%d". for (i=0.i<10. } for (i=0. Que lea 10 números por teclado.i<5. } 9. Mostrar los 10 números en pantalla mediante un solo array.i++){ printf("Escriba un número"). 5 para un array y 5 para otro array distinto.i++){ printf("%d\n". numeros1[5].i++){ printf("Escriba un número").numeros2[5]. return 0.i<5.h> #include <stdlib.i++) { numeros3[i]=numeros1[i].&numeros2[i]).&numeros1[i]). los copie a otro array multiplicados por 2 y muestre el segundo array.numeros3[10].

} system("PAUSE"). } for (i=0. Que lea 5 números por teclado. los copie a otro array multiplicados por 2 y los muestre todos ordenados usando un tercer array.i++){ printf("%d\n".&numeros1[i]). int i. } . scanf("%d".h> #include <stdlib. } for(i=0.numeros2[5].i<5.numeros3[10]. for (i=0.i<5. numeros1[5].i++){ printf("Escriba un número").h> #include <stdlib.numeros2[5].h> int main() { int aux.i<5.i++){ printf("Escriba un número").h> int main() { int aux.j.i<5.i<5. scanf("%d". numeros1[5].i++) { numeros2[i]=numeros1[i]*2. #include <stdio.i++) { numeros2[i]=numeros1[i]*2.j.#include <stdio.numeros2[i]). } 10. } for(i=0.&numeros1[i]). int i. for (i=0. return 0.

i<5. if (x%2==0) { tabla[i]=x. sum=0. i=0.sum.numeros3[i]). #include <stdio.i++){ printf("%d\n". } for (i=0. } printf("%d\n". } } for (x=0.cont.i<5. i++. for(i=0.i.x<=100. } 11.h> int main(void) { int x.h> #include <stdlib.i<10. } for(i=0.i++) { numeros3[5+i]=numeros2[i].x<i.tabla[100]. } system("PAUSE"). return 0. Que rellene un array con los 100 primeros números pares y muestre su suma.x++) { sum=sum+tabla[x].i++) { numeros3[i]=numeros1[i]. for (x=1. .x++) { cont=0.sum).

i<10. for (i=0. } printf("%f\n".i++) { sum=sum+numeros1[i]. scanf("%f". Que mediante un array almacene números tanto positivos como negativos y los muestre ordenados.&numeros[i]). return 0. system("PAUSE").i<n.i++){ printf("Escriba un número"). } . system("PAUSE"). int i.h> int main() { float aux.n=10. sum=0.sum/10). } 13. #include <stdio.h> int main() { float sum. #include <stdio. for (i=0. } 12.h> #include <stdlib.i++){ printf("Escriba un número").i<10. numeros1[10].j. los almacene en un array y muestre la media.h> #include <stdlib. scanf("%f". numeros[10].&numeros1[i]). } for(i=0. int i. Que lea 10 números por teclado. return 0.

&vector[i]). char *argv[]) { int i.sup=n-1. scanf("%d". scanf("%d".&dato). numeros[i]=numeros[j]. .i<20.h> #include <stdlib. #include <stdio. dato.vector[20].i--){ printf("%f\n".j<n. if (vector[centro]==dato) { printf("Existe\n").inf=0. while(inf<=sup) { centro=(sup+inf)/2. } 14. n=20.i++) { for(j=i+1.x=0. break.j++) { if(numeros[i]<numeros[j]) { aux=numeros[i]. return 0. } } } for (i=n-1.h> int main(int argc. for(i=0.i>=0.i++){ printf("Escriba un número"). Que rellene un array con 20 números y luego busque un número concreto. } system("PAUSE"). centro. for (i=0. x=1. } printf("Escriba el número a buscar").numeros[i]). numeros[j]=aux.i<n-1.

} //torres else if ((x==0 && y==0) || (x==7 && y==0) || (x==0 && y==7) || (x==7 && y==7) ) . } 15.x<8. } system("PAUSE"). } } if (x==0) { printf("No existe\n"). #include <stdio.h> int main(int argc. los caballos con C. Que pinte un tablero de ajedrez. for (x=0.h> #include <stdlib. } else if(dato < vector [centro] ) { sup=centro-1. } else { inf=centro+1.y++) { //peones if (x==1 || x==6) { printf("P"). los peones con la letra P.x++) { for (y=0. return 0.y. los alfiles con A.y<8. las torres con T. char *argv[]) { int x. el rey con R y la reina con M.

} . } //reina else if ((x==0 && y==3) || (x==7 && y==3) ) { printf("M"). } //alfiles else if ((x==0 && y==2) || (x==7 && y==2) || (x==0 && y==5) || (x==7 && y==5) ) { printf("A"). } } printf("\n"). { printf("T"). } //caballos else if ((x==0 && y==1) || (x==7 && y==1) || (x==0 && y==6) || (x==7 && y==6) ) { printf("C"). } else { printf(" "). } system("PAUSE"). } //rey else if ((x==0 && y==4) || (x==7 && y==4) ) { printf("R"). return 0.

y.y++) { numeros[x][y]=(x*10)+1+y. for (x=0.y<10.16.numeros[x][y]).h> #include <stdlib.y++) .h> int main(int argc.y. #include <stdio. return 0. Que muestre los primeros 100 números de izquierda a derecha usando un array de dos dimensiones. for (y=0.y++) { printf("%d ".y<10. numeros[11][10]. numeros[10][10]. } 17. char *argv[]) { int x. } system("PAUSE").x<10.x++) { for (y=0. } } for (x=0. Que muestre los primeros 100 números de izquierda a derecha usando un array de dos dimensiones.x++) { for (y=0.h> #include <stdlib. char *argv[]) { int x.sum.x<10. #include <stdio. la última fila a mostrará la suma de sus respectivas columnas. } printf("\n").y<10.h> int main(int argc.

} system("PAUSE").y<3. } printf("\n").x++) { for (y=0.numeros[x][y]).h> int main(int argc. for (x=0.y++) { numeros[x][y]=num. } numeros[10][y]=sum. lo pinte y después que pida una posición X. Que rellene un array de dos dimensiones con números pares. return 0.&x).num=2.x<3.x<11.y<10. } } printf("Introduzca coordenada x: "). scanf("%d".x++) { for (y=0.h> #include <stdlib. { sum=0.y++) { printf("%d ". num=num*2. #include <stdio. char *argv[]) { int x. sum=sum+numeros[x][y]. numeros[3][3].x++) { numeros[x][y]=(x*10)+1+y. printf("Introduzca coordenada y: "). scanf("%d".&y). . for (x=0. } 18.y.Y y mostrar el número correspondiente. } for (x=0.x<10.

numeros[y][x]). } printf("\n\n\n"). numeros[x][y]). for(x = 0.y < 3. char *argv[]) { int x.y<3. return 0.x<3.x < 3.x++) { for(y = 0. numeros[4][4]. } printf("La traspuesta es: \n\n\n").numeros[x][y]). for (x=0. } } printf("El array original es: \n\n\n").y++) { numeros[x][y]=num. #include <stdio. } printf("\n\n\n").h> #include <stdlib. printf("El número es: %d\n".h> int main(int argc.y++) { printf(" %d ". } 19. system("PAUSE").num=0.x++) { for (y=0. for(x = 0.y++) { printf(" %d ". Que rellene una matriz de 3x3 y muestre su traspuesta (la traspuesta se consigue intercambiando filas por columnas y viceversa). .y.x < 3.y < 3.x++) { for(y = 0. num++.

char frase[50]. printf("Introduzca una frase: ").h> #include <stdlib. break. for(x = indice-1.frase[x]).h> int main(int argc. } 20. for(x = 0.x >=0.h> #include <stdlib.x. } system("PAUSE").x++) { if (frase[x]=='\0') { indice=x. } } printf("La frase al reves es: \n\n"). system("PAUSE").x < 50. Que lea una cadena y diga cuantas vocales hay. #include <stdio. return 0. return 0.h> . Que lea una cadena y la muestre al revés. char *argv[]) { int indice. #include <stdio. gets(frase).x--) { printf("%c". } 21. } printf("\n\n").

default: break. gets(frase). system("PAUSE"). break. break. case 'i': sum++. break. case 'u': sum++.x. break. return 0.int main(int argc. case 'o': sum++. } 22. Que lea una cadena y diga cuantas mayúsculas hay. } } printf("\n\nEn la frase hay %d vocales\n\n". case 'e': sum++. char *argv[]) { int sum=0.sum). break. printf("Introduzca una frase: ").x < 50.h> #include <stdlib.x++) { switch (frase[x]) { case 'a': sum++. for(x = 0. printf("\n\n").h> . #include <stdio. char frase[50].

printf("\n\n").x.sum). system("PAUSE"). char *argv[]) { int sum=0.int main(int argc.sum). gets(frase). for(x = 0. char frase[50].x++) { if (frase[x]!='\0') { frase[x]=frase[x]+3.h> #include <stdlib. char *argv[]) { int sum=0. x < 50. } 23. for(x = 0. #include <stdio. return 0. } } printf("\n\nEn la frase hay %d mayúsculas\n\n". gets(frase). Que lea una cadena y la encripte sumando 3 al código ASCII de cada carácter.h> int main(int argc.x++) { if (frase[x]>=65 && frase[x]<=90) { sum++. .x < 50.x. } } printf("\n\nLa nueva frase es:\n\n". Mostrar por pantalla. printf("Introduzca una frase: "). char frase[50]. printf("Introduzca una frase: ").

productos[10]. La tienda dispone de 10 productos distintos. Modificar el stock y precio de un producto dado. printf("\n\n%s\n\n".h> #include <stdlib. productos[x]. int main(int argc. printf("2. Buscar un producto por su nombre.frase). float precio.Buscar por nombre\n"). } while ((opcion==1 || opcion==2 || opcion==3) && (opcion!=4)) { printf("1. for (x=0. printf("Introduzca una opción: "). cantidad en stock. int cantidad. printf("\n\n").Salir\n"). la información a recoger será: nombre del producto. int x. Dar de alta un producto nuevo.cantidad=0. #include <stdio. Que gestione los datos de stock de una tienda de comestibles.opcion=1.nombre. . }. precio. } 24. productos[x].Modificar stock y precio\n").Alta de producto\n"). printf("4. c. char *argv[]) { struct producto prod.x<10. b. El programa debe ser capaz de: a.x++) { strcpy(productos[x].h> struct producto { char nombre[50]."X"). system("PAUSE").precio=0. printf("3. return 0.

cantidad=productos[x-1]. x >=0.&prod. for(x = 0. gets(prod.cantidad. productos[x]. x--) { if (x!=0) { strcpy(productos[x]. printf("Precio: %f\n". printf("Introduzca un precio: ").&prod.nombre).&opcion). gets(prod.cantidad=prod. scanf("%d". } else { strcpy(productos[x].prod. gets(prod. if (opcion==1) { printf("Introduzca un nombre: ").productos[x]. scanf("%f". } else if (opcion==2) { printf("Introduzca un nombre: "). } } printf("\nProducto creado.precio.nombre). \n\n"). for(x = 9. } .productos[x]. gets(prod. productos[x].nombre)==0) { printf("\nNombre: %s\n".nombre. productos[x].precio).nombre). } } printf("\n\n").nombre.x++) { if (strcmp(productos[x]. productos[x].precio.scanf("%d".productos[x].nombre).nombre). printf("Introduzca un stock: ").nombre).precio=prod.cantidad).cantidad).prod. printf("Cantidad en Stock: %d\n".productos[x-1]. x < 10.nombre).precio=productos[x-1].precio).nombre.cantidad.

Modificar su nota. scanf("%d". e. gets(prod. b. } } system("PAUSE"). int main(int argc. Realizar la media de las notas menores de 5. return 0. Buscar un alumno. x < 10. Mostrar el alumno que peores notas ha sacado."). Que gestiona las notas de una clase de 20 alumnos de los cuales sabemos el nombre y la nota. }. } 25. f. gets(prod. c. El programa debe ser capaz de: a.nombre. printf("Introduzca un stock: ").x++) { if (strcmp(productos[x]. Realizar la media de todas las notas.&productos[x].h> struct alumno { char nombre[50]. float nota. for(x = 0.nombre)==0) { printf("Introduzca un precio: ").precio). } } printf("\n\n"). else if (opcion==3) { printf("Introduzca un nombre: "). char *argv[]) . printf("\nProducto modificado. Mostrar el alumno que mejores notas ha sacado.prod.cantidad).nombre).nombre).&productos[x]. #include <stdio.h> #include <stdlib. scanf("%f". d.

} } printf("\n\n"). gets(alumnos[x].nombre).alumnos[x]. printf("Nota: %f\n". printf("7.Modificar nota\n").opcion=1.x++) { printf("Introduzca nombre alumno:"). scanf("%d".nombre).nombre).alum.peor. } while ((opcion==1 || opcion==2 || opcion==3 || opcion==4 || opcion==5 || opcion==6) && (opcion!=7)) { printf("1. printf("6.nombre). for(x = 0.cont=0.nota). printf("5.nombre).&opcion).nota).{ struct alumno alum.mejor.Buscar un alumno\n"). x < 5. gets(alumnos[x]. for (x=0.Media de todas las notas\n"). printf("Introduzca una opción: ").x++) { if (strcmp(alumnos[x].alumnos[5].alumnos[x].Alumno con mejores notas\n"). float sum=0. printf("2.Salir\n").nombre)==0) { printf("\nNombre: %s\n".Alumno con peores notas\n"). gets(alum. printf("4. printf("3.nombre. gets(alum. scanf("%f". printf("Introduzca nota:").x<5.Media de todas las notas inferiores a 5\n"). int x.&alumnos[x]. } . if (opcion==1) { printf("Introduzca un nombre: ").

nota<5) { sum=sum+alumnos[x]. for(x = 0.else if (opcion==2) { printf("Introduzca un nombre: ").nombre). gets(alum.alum. for(x = 0. } else if (opcion==5) { mejor=0.sum/cont). for(x = 0.nombre. x < 5.nota). } printf("\nLa media de las notas es de: %f \n". } else if (opcion==4) { sum=0.nota. scanf("%f".x++) { sum=sum+alumnos[x].nombre). for(x = 0. } else if (opcion==3) { sum=0. printf("\nNota modificada. x < 5.(sum/5)). cont=0.").nota.x++) { if (alumnos[x].x++) { if (alumnos[x]. x < 5.&alumnos[x].nombre)==0) { printf("Introduzca una nota: "). x < 5. } } printf("\nLa media de las notas inferiores a 5 es: %f \n". } } printf("\n\n"). gets(alum.nota>mejor) { . cont++.x++) { if (strcmp(alumnos[x].

return 0.h> int main () { int a[5][4].nota. mejor=alumnos[x]. .nota. alum. i<5. } } printf("\nEl alumno con mejores notas es: %s \n".nota<peor) { peor=alumnos[x].alumnos[x]. strcpy(alum. # include <stdio.nota=alumnos[x].alum. } } printf("\nEl alumno con peores notas es: %s \n".x++) { if (alumnos[x]. alum.nombre). strcpy(alum. } } system("PAUSE"). scanf ("%d".nombre). int nota2=0.alumnos[x].nombre. int nota=0.nota. int i=0. ¬a). j<3.nombre). j++){ printf ("ingrese la nota: "). for (j=0. for (i=0.nombre.nombre).alum. for(x = 0. int j=0. x < 5. } STE PROGRAMA LEE 3 NOTAS DE 5 ALUMNOS Y DA EL PROMEDIO DE ELLAS ESPERO LE SIRVA A ALGUIEN YA QUE A MI SI ME DIO GUERRA ESE PROGRAMA.nota. i++){ nota2=0. } else if (opcion==6) { peor=10.nota=alumnos[x].

a[i][j]=nota.media22.media16. double media18.j++) { cout<<"introduzca la asistencia por sala "<<i+1<<setw(5)<<j+1<<endl. double media13..j<=4.media8...media25.media29.. double media1.media9.h> #include<iomanip.h> int main() { int i.. cin>>dias[i][j].media17. #include<iostream.media27..solo tienen que arreglar la parte de la impreson.media21.i++) for(j=0.media2.dia5. a[i][j] ).. i<5. for (j=0.media30. } } for (i=0. i++){ printf (" ").media4.dia3. y agregar la diferencia porcentual.dia4.media19. int j. double media26.media14.. } qui esta el programa en c++.nota2=nota2+nota.media15. espero les sirva.media28.. a[i][3]=(nota2/3). int dias[5][5].media20.media3. double dia1..media24.media23.. cout<<"******CONGRESO NACIONAL******"<<endl..media10. j++){ printf ("%d ".media6.media5. .media12. j<4.media11.i<=4.dia2. } } return 0. double media7. cout<<"*****INTRODUZCA LOS DATOS****"<<endl... for(i=0.

media7=dias[0][1]/2.media25=dias[3][4]/2. cout<< setw(10)<< media16 <<setw(5)<< media17 <<setw(5)<< media18 <<setw(5)<< media19 <<setw(5)<< media20 <<setw(5)<<endl.media13=dias[1][2]/2.} for(i=0. media27=dias[4][1]/2.j<=4. } cout<<"datos de la asistencia"<<endl. cout<<"-------------------------------------------------------------------------------"<<endl. media23=dias[3][2]/2.media11=dias[1][0]/2.media3=dia3/2. cout<<setw(10)<<" LUNES "<<setw(5)<<" MARTES "<<setw(5)<<"MIERCOLES"<<setw(5)<<"JUEVES "<<setw(5)<<" VIERNES"<<endl.media5=dia5/2.media30=dias[4][4]/2.media12=dias[1][1]/2.media26=dias[4][0]/2. dia5=dias[4][0]+dias[4][1]+dias[4][2]+dias[4][3]+dias[4][4].media20=dias[2][4]/2.media9=dias[0][3]/2. media1=dia1/2. cout<<"sala 4 "<<dias[3][0]<<setw(5)<<dias[3][1]<<setw(5)<<dias[3][2]<<setw(5)<<dias[3][3]<<setw( 5)<<dias[3][4]<<setw(5)<<dia4<<endl.media24=dias[3][3]/2.j++) { dia1=dias[0][0]+dias[0][1]+dias[0][2]+dias[0][3]+dias[0][4]. cout<<"-------------------------------------------------------------------------------"<<endl. cout<<"sala 1 "<<dias[0][0]<<setw(5)<<dias[0][1]<<setw(5)<<dias[0][2]<<setw(5)<<dias[0][3]<<setw( 5)<<dias[0][4]<<setw(5)<<dia1<<endl.media8=dias[0][2]/2.media17=dias[2][1]/2. media18=dias[2][2]/2.m edia22=dias[3][1]/2. cout<<"-------------------------------------------------------------------------------"<<endl. cout<< setw(10)<< media21 <<setw(5)<< media22 <<setw(5)<< media23 <<setw(5)<< media24 <<setw(5)<< media25 <<setw(5)<<endl. cout<< setw(10)<< media6 <<setw(5)<< media7 <<setw(5)<< media8 <<setw(5)<< media9 <<setw(5)<< media10 <<setw(5)<<endl. cout<<"sala 5 "<<dias[4][0]<<setw(5)<<dias[4][1]<<setw(5)<<dias[4][2]<<setw(5)<<dias[4][3]<<setw( . cout<<"sala 2 "<<dias[1][0]<<setw(5)<<dias[1][1]<<setw(5)<<dias[1][2]<<setw(5)<<dias[1][3]<<setw( 5)<<dias[1][4]<<setw(5)<<dia2<<endl.media4=dia4/2.media29=dias[4][3]/2. dia4=dias[3][0]+dias[3][1]+dias[3][2]+dias[3][3]+dias[3][4].i<=4.media16=dias[2][0]/2.media19=dias[2][3]/2. media14=dias[1][3]/2.media28=dias[4][2]/2. dia3=dias[2][0]+dias[2][1]+dias[2][2]+dias[2][3]+dias[2][4].media15=dias[1][4]/2.media2=dia2/2.i++) for(j=0. media10=dias[0][4]/2. cout<<"-------------------------------------------------------------------------------"<<endl.media21=dias[3][0]/2. cout<<"sala 3 "<<dias[2][0]<<setw(5)<<dias[2][1]<<setw(5)<<dias[2][2]<<setw(5)<<dias[2][3]<<setw( 5)<<dias[2][4]<<setw(5)<<dia3<<endl. media6=dias[0][0]/2. cout<< setw(10)<< media11 <<setw(5)<< media12 <<setw(5)<< media13 <<setw(5)<< media14 <<setw(5)<< media15 <<setw(5)<<endl. dia2=dias[1][0]+dias[1][1]+dias[1][2]+dias[1][3]+dias[1][4].

h> #include <iostream. return (0).i<=20.&A). } getch(). printf("Inserte valor para B: ").h.h> #include <conio. scanf("%d". scanf("%d". B. . else cout<<" No es multiplo de 3"<<endl. printf("Inserte valor para A: ").&B). if (i%3==0) cout<<" Es multiplo de 3" <<endl.i++) { cout<<i. cout<< setw(10)<< media26 <<setw(5)<< media27 <<setw(5)<< media28 <<setw(5)<< media29 <<setw(5)<< media30 <<setw(5)<<endl. for (int i=1. C. } Valora esta respuesta 0 Mostrar los multiplos de 3 comprendidos entre los numeros 1 y 20 Código: #include <stdio.h> int main () { clrscr().h> #include <conio.> int main () { int A.5)<<dias[4][4]<<setw(5)<<dia5<<endl. } Hallar A+B-C+100 Código: #include <stdio. return 0.

h> #include <conio. if (numero>=100) { int num=numero. b. scanf("%d". B. printf("\n%d + %d .Verificar si sus digitos son pares . getch(). la variable numero while (numero!=0) { sum_dig=sum_dig+(numero%10). } Dado un numero verificar: .Promediar sus digitos Código: #include <stdio.h> int main () { int numero. sum_dig).h> int main () { int a. a. printf("Inserte valor b: "). scanf("%d". .&numero). } Leer un numero de 3 digitos y sumarlos Código: #include <stdio. printf("Inserte un numero de 3 digitos: ").h> #include <conio.&a). printf("(%d-%d) (%d+%d) = %d". printf("Inserte valor para C: "). //para sacar el ultimo digito de numero numero=numero/10.%d + 100 = %d". //elimina el ultimo digito de numero } printf("La suma de los digitos de %d es : %d".h> #include <conio.((a-b)*(a+b))). getch(). sum_dig=0.A. (A+B+C-100)). //salvamos en num. } Obtener (a-b)(a+b) Código: #include <stdio.a. getch(). b. } else printf("\a ERROR: El digito no tiene 3 digitos").&b).&C). printf("Inserte valor a: "). scanf("%d". b.num.Que tenga dos digitos .h> int main () { int numero. C. scanf("%d".

&d). scanf("%d". int aux=numero. } getch().numero).&numero). if(numero==0) printf("El numero %d es NULO". scanf("%d". c. printf("Inserte num. else { if(numero<0) printf("El numero %d es NEGATIVO". if(d1%2==0 & d2%2==0) printf("El promedio d los digitos de %d es: %d". .(d1+d2)/2). numero=numero/10.6: ").h> #include<conio. if(c<menor) menor=c. scanf("%d".h> int main () { int numero.3: ").numero). int d2=numero%10. printf("Inserte num. negativo o nulo Código: #include <stdio. printf("Inserte num. scanf("%d". printf("Inserte num.numero).&numero). b.h> int main() { int a.&e). d. if(d<menor) menor=d. if(numero<100 && numero>9) { int d1=numero%10. getch().5: ").1: "). } else printf("\aERROR: el numero no tiene dos digitos"). scanf("%d". printf("Inserte num. printf("Inserte num. printf("Inserte num. else printf("El numero %d es POSITIVO". f. scanf("%d".aux. } Dado un numero verificar si es positivo. de dos digitos pares: ").&a). if(b<menor) menor=b. } Dados seis numeros enteros determinar.&f). int menor=a.h> #include <conio.2: ").&b). printf("Inserte un numero: "). el menor de ellos Código: #include<stdio. e. scanf("%d".4: "). scanf("%d".&c).

suma=suma+(facto(serie))..h> int facto (int x) { int f=1. } .%d ". } printf (" = %d".i++) { printf ("%d! + ".&n). printf("\nEs %d".%d. 18:41 » Desconectado >> SERIES << Mensajes: hallar la sumatoria de: 2! + 4! + 6! + 8! + . printf ("Inserte cantidad de terminos a generar: ").menor).i<=x. scanf ("%d".suma). printf("El menor de %d. if(f<menor) menor=f.%d.f).e.serie). getch().a.b. if(e<menor) menor=e.d.} return (f). serie=2.i++) {f=f*i.. for (int i=1.%d. } En línea ¿Ilusión o realidad? Darvein Re: Ejercicios resueltos C++ [programacion estructurada] « Respuesta #1 en: 26 Febrero 2008.i<=n.c. serie=serie+2. for (int i=1. 182 Código: #include <stdio.h> #include <conio.%d. getch(). suma=0. } int main () { int n.

30. c=1.20..&n).. 7. scanf("%d". 7. } Si n=7 generar 7.&n). serie+=5.serie).serie). 5. . do { printf("%d..25. getch().10. } Generar 5. else serie-=2. int serie=n.h> int main () { int n.n Código: #include<stdio.h> int main () { int serie=1. if (sw) serie+=4. while(c<=n) { printf("%d. 9.".15.1 Código: #include<stdio.h> #include <conio.h> int main () { int n. c++.h> #include<conio. while(c<=n) { printf("%d.. printf("Cantidad de terminos: ").2.".serie). 23 Código: #include <stdio. } .h> #include<conio. sw=!sw.4.5. } while (serie<=23).Generar la serie: 1.35. printf("Cantidad de terminos: "). serie=5. serie--. 5.3. c++. } getch().6. ". c=1... scanf("%d". bool sw=true. 3.

. } En línea ¿Ilusión o realidad? Darvein Re: Ejercicios resueltos C++ [programacion estructurada] « Respuesta #2 en: 26 Febrero 2008. fin1--.V[i]). int d) { for (int i = 1 . int d) { int aux1. int d) { for (int i = 1 . } } void mostrar (int V [].h> void llenar (int V []. Si el tamao es par invertir los 182 elementos de la mitad de los elementos Ejemplo: v=[1][2][3][4][5][6] v(invertido)=[3][2][1][6][5][4] */ Código: #include<stdio.h> #include<conio. getch(). 18:42 » Desconectado >> VECTORES << Mensajes: /*Dado el vector T de tamao n. i <= d .i).[%d]: ". scanf("%d". i++) { printf ("[%d]". i <= d . i <= (d / 2) / 2 . i++) { aux1 = V [i]. V [i] = V [fin1]. V [fin1] = aux1. for (int i = 1 .&V[i]). } } void invierte (int V []. i++) { printf ("Inserte pos. int fin1 = d / 2.

for (int i = 1 . getch(). int d) { for (int i = 1 . i <= d . } } void mostrar (int V[20]. } } int potencia (int b. mostrar (V.h> void llenar (int V[20]. d). d). V [fin1] = aux1. d). int e) { int p = 1. i <= d .h> #include <conio. i <= e . i++) { p = p * b. del vector: "). int d) { for (int i = 1 . V [j] = V [fin1].[%d]: ". j <= (d / 2) + 1 . d). fin1--. scanf("%d". i++) { printf ("[%d]". llenar (V. for (int j = (d / 2) + 1 . mostrar (V. printf ("\nVECTOR ORIGINAL: \n"). i++) { printf ("Inserte pos. scanf("%d". printf ("\n\nVECTOR LUEGO DE LA INVERSION: \n").V[i]). } fin1 = d.&V[i]). } . int d. j++) { aux1 = V [j].i).&d). } } int main () { int V[20]. invierte (V. } /*Dado un polinomio evualuarlo en el punto x (todo en un vector)*/ Código: #include <stdio. printf ("Inserte dimen.

i += 2) { s = s + (V [i] * potencia (x. } int main () { int V[20]. 18:44 » Desconectado >> MATRICES << Mensajes: Generar la matriz: 182 [01][02][03][04] [08][07][06][05] [09][10][11][12] Código: #include<stdio. } void evalua (int V [].i<=f. int d. d). int c) { int k=1. scanf("%d".&d). scanf("%d". d). } En línea ¿Ilusión o realidad? Darvein Re: Ejercicios resueltos C++ [programacion estructurada] « Respuesta #3 en: 26 Febrero 2008. printf("Inserte dimen. } printf("\n\nX es igual a: %d". d.s). i <= d . V [i + 1])). llenar (V. int f.i++) { if (i%2!=0) { . mostrar (V. x. for (int i = 1 . int d. evalua (V.h> void llenar (int M[20][20]. getch().&x). printf("\nVECTOR: "). del vector: ").h> #include<conio. for (int i=1. int x) { int s = 0. printf ("Inserte valor de (x): "). x). return (p).

int M[20][20]. } } } int main () { int f. c).&f). } Generar la matriz: [01][02][03][04] [05][06][07][00] [08][09][00][00] [10][00][00][00] Código: #include <stdio.j++) { M[i][j]=k.j<=c.i++) { printf("\n"). } } } } void mostrar (int M[20][20]. int c) { for (int i=1. scanf("%d". for (int j=1. printf("Inserte filas de M: "). for (int i=1. llenar(M. de M: "). getch().h> void llenar (int M[20][20].j>=1.j<=d. printf("Inserte cols. c. } } else { for (int j=c.i<=f. for (int j=1.M[i][j]). k++.i++) { for (int j=1.h> #include <conio. int f.j++) { .i<=d.j<=c. int d) { int cont=1.j++) { printf("[%d] ". c). f. mostrar(M.j--) { M[i][j]=k. scanf("%d". f. k++.&c).

getch(). i++) { printf("\n").i. scanf("%d". int f. i++) { for (int j = 1 . j <= c . } } } int main () { int d. d). cont++. j <= c .j).} else M[i][j]=0. for (int j = 1 . j++) { . d). int c) { for (int i = 1 . scanf("%d". llenar(M. int d) { for (int i=1. i <= f .&M[i][j]). } } } void mostrar (int M[20][20].i<=d. j++) { printf ("Inserte pos[%d][%d]: ". int c) { for (int i = 1 . } Dadas dos matrices A y B intercambiar los minimos de A con los maximos de B Código: #include <stdio.j++) { printf ("[%d] ". mostrar(M. } } } void mostrar (int M[20][20]. i <= f . int M[20][20].M[i][j]).h> #include <conio. int f.i++) { printf("\n"). if ((i+j)<=(d+1)) {M[i][j]=cont.h> void llenar (int M[20][20]. for (int j=1.&d). printf("Insert dimen: ").j<=d.

j <= c . //para cambiar los minimos de A con los maximos de B for (int i = 1 . int fb. j++) { if (A[i][j] == min_a) A[i][j]=max_b. i <= f . } } } int menor (int M[20][20]. j <= cb . int f. int cb) { int min_a = menor (A. j++) { if (M [i] [j] < men) men = M [i] [j]. j++) { if (M [i] [j] > max) max = M [i] [j]. int max_b = maximo (B. i <= f . int c) { int men = M [1] [1]. int f. int B[20][20]. j <= c . for (int i = 1 . } } . j <= ca . printf ("[%d]". } } return (men). i <= fb . } int maximo (int M[20][20]. ca). cb). j++) { if (B[i][j] == max_b) B[i][j]=min_a. fb. int ca. i <= fa . fa. int fa. } void intercambiar (int A[20][20]. } } return (max). for (int i = 1 . i++) { for (int j = 1 . i++) { for (int j = 1 .M[i][j]). i++) { for (int j = 1 . } } //para intercambiar los maximos de con los minimos de A for (int i = 1 . i++) { for (int j = 1 . int c) { int max = M [1] [1].

h> void llenar (int M[20][20].i. fb. printf ("\n"). j). printf ("\nMATRICES ORIGINALMENTE INSERTADAS: "). mostrar (B. cb). int B [20] [20]. ca. ca). scanf("%d". mostrar (B.} int main () { int A [20] [20]. scanf("%d". mostrar (A. fb. i <= d . ca). fb. printf ("\n"). llenar (B.h> #include <conio. printf ("Insert columnas de A: "). fa. cb. i++) { printf("\n"). cb). cb). int d) { for (int i = 1 . ca. } /*Dada una matris cuadrada invertir su diagonal principal*/ Código: #include <stdio. i++) { for (int j = 1 .&M [i] [j]). printf ("Insert filas de A: "). fb. fa. getch(). printf ("\nMATRICES DESPUES DEL INTERCAMBIO:"). //intercambiando elementos intercambiar (A.&ca). j <= d . llenar (A. printf ("\nINSERTANDO DATOS EN MATRIS B: \n"). printf ("\n"). fa. B. scanf("%d". i <= d . j++) { printf ("Inserte pos[%d][%d]: ". ca). j++) .&fa). printf ("Insert filas de B: "). fb. scanf("%d". for (int j = 1 . cb). //lectura de matrices printf ("\nINSERTANDO DATOS EN MATRIS A: \n"). printf ("Insert columnas de B: ").&cb). } } } void mostrar (int M[20][20]. int fa. scanf("%d".&fb). int d) { for (int i = 1 . mostrar (A. j <= d . fa.

d). i <= d / 2 . } } } void invierte (int M[20][20]. } } int main() { int M [20] [20]. scanf("%d". . printf ("Inserte dimen.h> void llenar (int M[20][20]. getch(). invierte (M. printf ("\nMATRIS ORIGINAL: "). { printf ("[%d]". M [d] [d] = aux. } } } void mostrar (int M[20][20]. de la matris cuadrada: "). d). fin--.&d). i <= d .i. int d) { int fin = d. llenar (M.M [i] [j]). i++) { for (int j = 1 . } /*Dada una matris cuadrada invertir su diagonal secundaria*/ Código: #include <stdio. j++) { printf ("Inserte pos[%d][%d]: ". int d) { for (int i = 1 . scanf("%d". mostrar (M. j <= d . d). M [i] [i] = M [d] [d]. i <= d . mostrar (M. printf ("\n\nMATRIS CON LA DIAGONAL PRINCIPAL INVERTIDA: "). d). i++) { int aux = M [i] [i]. for (int i = 1 .&M [i] [j]).h> #include <conio. i++) { printf("\n"). int d. j). int d) { for (int i = 1 .

&M [i] [j]). i <= f . for (int j = 1 . mostrar (M.h> #include <conio. printf ("Inserte dimen. printf ("\n\nMATRIS CON LA DIAGONAL SECUNDARIA INVERTIDA: "). getch(). d). llenar (M. int c) { for (int i = 1 .h> void llenar (int M[20][20]. int f. fin--. de la matris cuadrada: "). d).&d). for (int i = 1 . i++) { for (int j = 1 . } /*Dada dos matrices de diferentes tamanios R y S mostrar los elementos comunes de R en S*/ Código: #include <stdio. j <= d . scanf("%d".M [i] [j]). int d.j). int d) { int fin = d. M [d] [i] = aux. i++) { int aux = M [i] [d]. scanf("%d". } } } void invierte (int M[20][20]. } } } void mostrar (int M[20][20]. int f. d). int c) { . invierte (M. } } int main() { int M [20] [20].i. d). mostrar (M. j <= c . j++) { printf ("[%d]". M [i] [d] = M [d] [i]. printf ("\nMATRIS ORIGINAL: "). j++) { printf ("Inserte pos[%d][%d]: ". i <= d / 2 .

for (int i = 1 . i++) { printf("\n"). printf("Inserte filas de R: "). for (int j = 1 . cr). l <= cs . } } } } } int main() { int R [20] [20]. int cr. cr). comunes (R. int fr. fr. cs). k <= fs . i <= fr . } } } void comunes (int R[20][20]. llenar (S. scanf("%d". printf("\n\nLA MATRIS S : "). printf("\nLLENANDO MATRIS R: \n"). getch(). printf("\nLA MATRIS R : "). mostrar (R. scanf("%d". printf("Inserte columnas de R: "). S.&fr). printf("Inserte filas de S: ").M [i] [j]). cr.&cs). llenar (R. for (int i = 1 . int cs) { printf("\n\nLos elementos comunes de R en S son: "). cs). j <= c . scanf("%d". j++) { for (int k = 1 . cr. mostrar (S. int S[20][20]. scanf("%d". int fr. } . fr.&fs).&cr). j <= cr . int S [20] [20]. l++) { if (R [i] [j] == S [k] [l]) printf ("[%d]". cs). fs.R [i] [j]). fr. int fs. k++) { for (int l = 1 . j++) { printf ("[%d]". printf("Inserte columnas de S: "). printf("\nLLENANDO MATRIS S: \n"). fs. cs. fs. i++) { for (int j = 1 . i <= f . fs.

printf ("\nLA MATRIS ORIGINAL : "). } } int main () { int M [20] [20]. M [i] [1] = M [i] [c].j). j++) { printf ("Inserte pos:[%d][%d]: ". scanf("%d".i. printf ("Inserte filas de la matris: "). f.h> #include <conio. f. j++) { printf ("[%d]". i++) { printf("\n"). int f. int c) { for (int i = 1 . printf ("\n\nLA MATRICES INTERCAMBIADA : ").h> void llenar (int M[20][20]. int f. i++) { for (int j = 1 . scanf("%d". i <= f .&f). M [i] [c] = aux. c). scanf("%d"./*Intercambiar los datos de la columna 1 con la ultima columna*/ Código: #include <stdio. llenar (M. int f.&c). } } } void intercambiar (int M[20][20]. j <= c . int c) { for (int i = 1 .&M [i] [j]). . i <= f . int f.M [i] [j]). c. i++) { int aux = M [i] [1]. i <= f . printf ("Inserte columnas de la matris: "). printf ("\nLLENANDO MATRIS : \n"). j <= c . } } } void mostrar (int M[20][20]. int c) { for (int i = 1 . mostrar (M. for (int j = 1 . c).

int f. } /* Contar el numero de digitos de cada elemento de una matris */ Código: #include <stdio. i <= f . } } } void mostrar (int M [20] [20]. int c) { for (int i = 1 . int c) { for (int i = 1 . i <= f . int n=M[i][j].contador). contador++.M [i] [j]). c).h> void llenar (int M [20] [20].i. j <= c . j++) { printf ("Inserte pos[%d][%d]: ". } } } void cuenta (int M[20][20]. scanf("%d".M[i][j]. int f. f. getch(). i++) { for (int j = 1 . int f. j <= c .h> #include <conio. intercambiar (M.&M [i] [j]). i++) { for (int j = 1 . j++) { printf ("[%d]". int c) { for (int i = 1 . j <= c . } } } int main () { . mostrar (M. j++) { int contador = 0. } printf("\n[%d] tiene: %d digito(s)". for (int j = 1 . i <= f . c). while (n != 0) { n = n / 10.j). f. i++) { printf("\n").

printf ("\n\nCONTEO DE DIGITOS: "). printf ("\nLLENANDO MATRIS M: \n"). int M [20] [20]. int e) { int bn = 0. int c. int c) { for (int i = 1 . printf ("Inserte columnas de la matris: "). j++) { if (M [i] [j] == e) { . getch(). } } } void mostrarMatris (int M[20][20]. for (int i = 1 . i++) { for (int j = 1 . i++) { for (int j = 1 . int c) { for (int i = 1 . llenar (M. printf ("\nLA MATRIS: "). c. c). j <= c .&c). cuenta (M.&f). for (int j = 1 .h> void llenarMatris (int M[20][20]. f.h> #include <conio. scanf("%d".M [i] [j] ). j <= c . } } } void busqueda (int M[20][20]. f. c). scanf("%d". f. i <= f . i++) { printf ("\n"). c).&M [i] [j]). } /*Hallar la fila y la columna del primer elemento "e" */ Código: #include <stdio.j). i <= f . int f. scanf("%d". j++) { printf ("[%d]". printf ("Inserte filas de la matris: "). int f.i. j <= c . int f. j++) { printf ("Inserte pos[%d][%d]: ". i <= f . int f. mostrar (M.

j <= c . printf("\nEl numero: %d se encuentra en la posicion: [%d][%d] de la matris". scanf("%d". f. i <= f . } En línea ¿Ilusión o realidad? Darvein Re: Ejercicios resueltos C++ [programacion estructurada] « Respuesta #4 en: 26 Febrero 2008. printf ("Inserte filas de la matris: "). c. f. i. scanf("%d". llenarMatris (M. i++) { for (int j = 1 . j++) .&c). printf ("\nLA MATRIZ Z: "). busqueda (M.&f). printf ("\nLLENANDO MATRIS: \n"). int f.e.e). getch(). f.h> void llenarMatris (int M[20][20]. } } } if (bn == 0) printf("\nNo se encontro el numero %d en la matris :(". printf ("\n\nInserte un numero: "). int f. c). contar la cantidad de numeros 182 primos de ambos */ Código: #include <stdio. scanf("%d".&numero). numero). mostrarMatris (M. 18:45 » Desconectado >> MATRICES y VECTORES<< Mensajes: /* Dada una matris y un vector. bn = 1. printf ("Inserte columnas de la matris: "). c. int c) { for (int i = 1 . } int main () { int M [20] [20].h> #include <conio. numero. j). c).

k++) { if (M [i] [j] % k == 0) cc++. } } int primosMatris (int M[20][20]. int d) { for (int i = 1 . } } void mostrarVector (int V[20]. } . scanf("%d". for (int k = 1 . i++) { for (int j = 1 . k <= M [i] [j] . j++) { printf ("[%d]". int c) { for (int i = 1 .V [i]). int f. { printf ("Inserte pos[%d][%d]: ".i. int c) { int cant = 0. i++) { printf ("Inserte pos. scanf("%d".&M [i] [j]).[%d]: ". } } return (cant). j <= c . i <= f . for (int i = 1 .&V [i]). } if (cc == 2) cant++. for (int j = 1 . i++) { printf ("[%d]". int d) { for (int i = 1 . i <= d .M [i] [j] ) } } } void llenarVector (int V[20]. j <= c . i <= d . int f. } } } void mostrarMatris (int M[20][20]. i <= f . j++) { int cc = 0.j).i). i++) { printf ("\n").

} /*Dada la matrix de m*n y el vector de tamanio n. c) + primosVector (V. f. llenarMatris (M. d. printf ("Inserte dimension del vector: "). d). c). getch(). j <= V [i] . f. mostrarVector (V. printf ("\nLLENANDO MATRIS: \n"). llenarVector (V. scanf("%d". i <= d . int d) { int cant = 0. j++) { if (V [i] % j == 0) c++. } return (cant). } if (c == 2) cant++. printf ("Inserte columnas de la matris: "). for (int i = 1 . } int main() { int M [20] [20]. c.&c). int V [20]. determinar que columna de la matris es igual al vector*/ Código: . d). c).&f). mostrarMatris (M.&d). printf ("\nLLENANDO EL VECTOR: \n"). printf ("\n\nEL VECTOR: \n").int primosVector (int V[20]. printf ("\nLA MATRIS: "). scanf("%d". f. d).primos). printf ("Inserte filas de la matris: "). int f. int primos = primosMatris (M. scanf("%d". printf ("\n\nLA CANTIDAD DE NUMEROS PRIMOS QUE HAY EN LOS ARREGLOS ES: %d". for (int j = 1 . i++) { int c = 0.

int d) { for (int i = 1 .i.[%d]: ". j++) { printf ("Inserte pos[%d][%d]: ". i <= f . scanf("%d". i <= d .&V [i]). i <= d . } } void procedure (int M[20][20].V [i]). } } void mostrarVector (int V[20]. j++) { printf ("[%d]". for (int j = 1 . i++) { printf ("\n"). k <= d . i++) { for (int j = 1 . j <= c . i <= f . scanf("%d".&M [i] [j]). i <= f .M [i] [j] ). int d) { for (int i = 1 . int f. int V[20]. int f. j <= c . } } } void mostrarMatris (int M[20][20]. int f.h> #include <conio. int c) { for (int i = 1 . } } } void llenarVector (int V[20]. int c. i++) { printf ("[%d]". for (int j = 1 .j). i++) { int sw = 1.#include <stdio. int d) { for (int i = 1 .i). i++) { printf ("Inserte pos. k++) { . j++) { for (int k = 1 . int c) { for (int i = 1 . j <= c .h> void llenarMatris (int M[20][20].

i++) { for (int j = 1 . scanf("%d". d). llenarMatris (M. j++) { printf ("Inserte pos[%d][%d]: ". mostrarVector (V. getch(). f. printf ("\nLLENANDO EL VECTOR: \n"). if (M [j] [i] != V [k]) sw = 0. j <= c . d). printf ("Inserte filas de la matris: "). d).&d). d).h> void llenarMatris (int M[20][20]. printf ("Inserte dimension del vector: "). llenarVector (V. i <= f . } } } .i). V. d). f.i. procedure (M. } } int main () { int M [20] [20].&M [i] [j]). scanf("%d". int f. int f.h> #include <conio. } } if (sw == 1) printf ("\n\nLa columna %d es igual al vector". f. printf ("\nLLENANDO MATRIS: \n"). int V [20]. printf ("\n\nEL VECTOR: \n"). d.&f). printf ("\nLA MATRIS: "). scanf("%d". mostrarMatris (M. d. } /*Dada una matris Z almacenar en un vector A la suma por sus columnas y en un vector B la suma por sus filas */ Código: #include <stdio.j). int c) { for (int i = 1 .

&V [i]). i <= f . j <= c . } } void mostrarVector (int V[20]. j++) { suma = suma + M [i] [j]. j <= c . i++) { printf ("[%d]". scanf("%d". j++) { printf ("[%d]". i++) { int suma = 0. for (int j = 1 . int f.[%d]: ". int B[20]. i <= f .void mostrarMatris (int M[20][20]. int c. } } } void llenarVector (int V[20]. i++) { printf ("\n").i). int c.M [i] [j] ). int c) { for (int i = 1 . for (int j = 1 . int d) { for (int i = 1 . i++) { printf ("Inserte pos. } . j <= c . i <= f . i++) { int suma = 0. int d) { for (int i = 1 . } } void vectorA (int M[20][20]. int f. j++) { suma = suma + M [j] [i]. int A[20]. i <= d . for (int j = 1 . } A [i] = suma. int d) { for (int i = 1 . } } void vectorB (int M[20][20]. } B [i] = suma.V [i]). int f. i <= d . int d) { for (int i = 1 .

me serviran para analizarlos En línea Darvein Re: Ejercicios resueltos C++ [programacion estructurada] « Respuesta #6 en: 29 Febrero 2008. mostrarVector (B. llenarMatris (Z. printf ("Inserte filas de la matris: ").&f).que bien y que casualidad recien en estos dias han iniciado la clase de progrmacion estructurada (apenas hoy comenzare a meterle mano al Mensajes: 33 manual y al compilador) gracias por los codigos. int f. 19:03 » . A. f. f. scanf("%d". int A [20]. mostrarMatris (Z. f. c). getch(). c. printf ("\nLLENANDO MATRIS: \n"). f). c. vectorB (Z.&c).. printf ("\nLA MATRIZ Z: "). mostrarVector (A. f. c). } int main () { int Z [20] [20]. f). B. 00:47 » Desconectado hey. vectorA (Z. printf ("\n\nSUMA POR COLUMNAS DE LA MATRIS (vector A): \n"). scanf("%d". c). printf ("\n\nSUMA POR FILAS DE LA MATRIS (vector B): \n"). c). } En línea ¿Ilusión o realidad? darkness7977 Re: Ejercicios resueltos C++ [programacion estructurada] « Respuesta #5 en: 29 Febrero 2008. c.. int B [20]. printf ("Inserte columnas de la matris: ").

.. En línea ¿Ilusión o realidad? AxXioma Re: Ejercicios resueltos C++ [programacion estructurada] « Respuesta #7 en: 29 Febrero 2008.Desconectado Citar gracias por los codigos. cadenas etc. archivos. buen aporte. xD Que bueno saber que esos ejercicios le sirvio a alguien. vectores. 20:01 » Gracias. matrices.me serviran para analizarlos Mensajes: 182 Tengo mas. luego los subire tengo sobre recurisividad. . Desconectado Mensajes: 796 Algunos En línea pájaros no pueden ser enjaulados.