Sei sulla pagina 1di 10

PAG 1

Escriba un programa que lea un conjunto de n nombres y n notas y me muestre en una pantalla los nombres de los tres primeros alumnos por orden de mrito las tres mejores notas

SOLUCIN
# include<iostream.h> # include<conio.h> # include<stdio.h> # include<string.h> void lectura(int vectornot[50], char vectornom[50][40], int *n); void orden(int vectornot[50],char vectornom[50][40], int n); void escritura(int vectornot[50],char vectornom[50][40], int n); void main( ) { int vectornot[50]; char vectornom[50][40]; int n; clrscr(); lectura(vectornot,vectornom,&n); orden(vectornot,vectornom, n); escritura(vectornot, vectornom,n); } void lectura(int vectornot[50],char vectornom[50][40], int *n) { int i; clrscr(); cout << " Ingrese n => "; cin >> *n; for ( i=1; i<=(*n);i++) { cout<< " Ingrese nota "<< i<<" : "; cin>> vectornot[i]; cout<< " Ingrese nombre "<< i<<" : "; gets(vectornom[i]); } } void orden(int vectornot[50],char vectornom[50][40], int n) { int i,j,temp1; char temp2[40]; for ( i=1; i<n ;i++) for (j=i+1;j<=n;j++) if( vectornot[i]< vectornot[j]) { temp1 = vectornot[i]; vectornot[i] = vectornot[j]; vectornot[j] = temp1 ; strcpy(temp2,vectornom[i]); strcpy(vectornom[i],vectornom[j]); strcpy(vectornom[j],temp2) ; } } void escritura(int vectornot[50],char vectornom[50][40],int n) {int i; clrscr(); gotoxy(35,2); cout<<"LISTA DE MERITO"; for ( i=1; i<=3;i++) { gotoxy(37,3+i); cout<< vectornot[i]<<" "<<vectornom[i]; } getch(); }

PAG 2
- Escriba un programa que halla el determinante de una matriz. SOLUCIN: #include<iostream.h> #include<conio.h> #include<math.h> #include <stdlib.h> #include <time.h> void main() {float m[50][50],m1[50][50]; int n; int i,j,k,l; clrscr(); cout<<"Ingrese el orden de la matriz:";cin>>n; randomize();

for(i=1;i<=n;i++) for(j=1;j<=n;j++) m[i][j]=random(5)+5; for(i=1;i<=n;i++) {for(j=1;j<=n;j++) cout<<m[i][j]<<" "; cout<<endl; } getch(); for (i=1;i<=n;i++) for (j=1;j<=n;j++) m1[i][j]=m[i][j]; float det; det=m[1][1]; for(k=1;k<=(n-1);k++) { l=k+1; for(i=l;i<=n;i++) for(j=l;j<=n;j++) m[i][j]=(m[k][k]*m[i][j]-m[k][j]*m[i][k])/m[k][k]; det=det*m[k+1][k+1]; } cout<<endl; cout<<"Determinante = "<<det<<endl; getch(); }

PAG 3
.- Escribir un programa que lea un vector numrico y lo rote hacia la derecha, de tal manera que el primer termino pase al segundo lugar, el segundo al tercero y as consecutivamente y finalmente el ltimo pase a ser primero. Entrada: vector v[] Salida: vector v[] rotado */ #include<iostream.h> #include<conio.h> void main() { int v[10]; int i,n; clrscr();//limpia pantalla cout<<endl<<endl; cout<<"INGRESE N = "; cin>>n; for (i=1;i<=n;i++) { cout<<" V["<<i<< "]: ";cin>>v[i];} // Rotacin for (i=n;i>=1;i--) v[i+1]=v[i]; v[1]=v[n+1]; cout << "VECTOR ROTADO = "<<endl; for(i=1;i<=n;i++) cout<<" V["<<i<< "]: "<<v[i]<<endl; getch(); } 2: programa para mostrar datos en forma matricial #include "stdafx.h" #include "iostream" #include "conio.h" using namespace std; void leer(int *nf,int *nc,int m[20][20]); void escribir(int nf,int nc,int m[20][20]); int _tmain(int argc, _TCHAR* argv[]) { int n;//orden de la matriz

int a[20][20]; leer(&n,&n,a); escribir(n,n,a); return 0;} void leer(int *nf,int *nc,int m[20][20]) {int i,j; cout<<"Ingrese numero de filas=> "; cin>>(*nf);

for(i=1;i<=(*nf);i++)
for(j=1;j<=(*nc);j++) { cout<<"m["<<i<<"]["<<j<<"]: "; cin>>m[i][j];} } void escribir(int nf,int nc,int m[20][20]) {int i,j; for(i=1;i<=nf;i++) { for(j=1;j<=nc;j++) cout<<m[i][j]<<" "; cout<<endl;} _getch(); }

PAG 4
3: programa para mostrar el mayor de una fila y el menor de una columna //librerias (normal) void leer(int *n,int m[20][20]); void escribir(int n,int m[20][20]); void calcular_maximos(int n,int m[20][20],int vmax[20]); void calcular_minimos(int n,int m[20][20],int vmin[20]); void escribir_vector(int n,int v[20]); int _tmain(int argc, _TCHAR* argv[]) { int n;//orden de la matriz int a[20][20]; int v[20]; leer(&n,a); escribir(n,a); calcular_maximos(n,a,v); cout<<"Maximos por fila"<<endl; escribir_vector(n,v); calcular_minimos(n,a,v); cout<<"Minimos por columna"<<endl; escribir_vector(n,v); return 0;} void leer(int *n,int m[20][20]) {int i,j; cout<<"Ingrese numero de filas=> "; cin>>(*n); for(i=1;i<=(*n);i++) for(j=1;j<=(*n);j++) { cout<<"m["<<i<<"]["<<j<<"]: "; cin>>m[i][j];}} void escribir(int n,int m[20][20]) {int i,j; cout<<endl<<"Valores de la matriz"<<endl; for(i=1;i<=n;i++) { for(j=1;j<=n;j++) cout<<m[i][j]<<" "; cout<<endl;} _getch();} void calcular_maximos(int n,int m[20][20],int vmax[20]) {int i,j; for(i=1;i<=n;i++)

vmax[i]=m[i][1]; for(j=2;j<=n;j++) if(m[i][j]>vmax[i]) vmax[i]=m[i][j];}} void calcular_minimos(int n,int m[20][20],int vmin[20]) {int i,j; for(i=1;i<=n;i++) { vmin[i]=m[1][i]; for(j=2;j<=n;j++) if(m[j][i]<vmin[i]) vmin[i]=m[j][i];}} void escribir_vector(int n,int v[20]) { int i; for(i=1;i<=n;i++) cout<<v[i]<<endl;_getch();}

PAG 5
1.- Dado un vector de nmeros enteros escriba un programa que me permita hallar el nmero que ms veces se repite (MODA).
# include <iostream.h> # include <conio.h> void lectura (int a[50], int *n); void orden(int a[50], int n); int moda (int a[50], int n); void escritura(int mo); void main( ) { int a[50]; int n,mo; clrscr(); lectura (a, &n); orden(a, n); mo=moda (a, n); escritura(mo); }

// Funcin que realiza la lectura

void lectura(int a[50], int *n) { int i; clrscr(); cout << " Ingrese n => "; cin >> *n; for ( i=1; i<=(*n);i++) { cout<< " Ingrese valor "<< i<<" : "; // Funcion que ordena el vector void orden(int a[50], int n) { int i,j,temp; for ( i=1; i<n ;i++) for (j=i+1;j<=n;j++) if( a[i]> a[j]) { temp = a[i]; a[i] = a[j]; a[j] = temp ; } } // Funcion que halla la moda int moda(int a[50], int n) { int b[50],rep[50],nsr,i,j,k; int nmoda,mayor; clrscr(); nsr=1; b[1]=a[1]; rep[1]=1; for( i=2;i<=n;i++) if(a[i-1]==a[i])

cin>>a[i];

rep[nsr]=rep[nsr]+1; else { nsr=nsr+1; b[nsr]=a[i]; rep[nsr]=1; } mayor=rep[1]; k=1; for(j=2;j<=nsr;j++) if (rep[j] > mayor) { mayor = rep[j]; k=j ; } nmoda= b[k]; return(nmoda); } // Funcin que presenta el resultado void escritura(int mo) { clrscr(); cout<< " La moda es ="<< mo; getch(); } Ejemplo 6.-Procedimiento para multiplicar una matriz #include<iostream.h> #include<conio.h> #include<stdlib.h> #include<time.h> void leer(int x[20][20],int *n); void m_mat(int x[20][20],int n1,int b[20][20],int n2,int c[20][20], int *n3); void mostrar(int x[20][20],int n); void main() { int n1,n2,n3; int a[20][20],b[20][20],c[20][20]; leer(a,&n1); leer(b,&n2); m_mat(a,n1,b,n2,c,&n3); } void leer(int x[20][20],int *n) { int i,j; cout<<"Ingrese el orden de la matriz: ";cin>>*n; randomize(); for(i=1;i<=(*n);i++) for(j=1;j<=(*n);j++) x[i][j]=random(10); mostrar(x,*n); } void m_mat(int x[20][20],int n1,int b[20][20],int n2,int c[20][20], int *n3) { int i,j,k; cout<<"\nEl producto de las matrices es:"<<endl; if(n1==n2) { for(i=1;i<=n1;i++) for(j=1;j<=n2;j++) { c[i][j]=0; for(k=1;k<=n1;k++) c[i][j]=c[i][j]+x[i][k]*b[k][j]; } *n3=n1; *n3=n2; mostrar(c,*n3); } else cout<<"Matrices no se pueden multiplicar";getch(); } void mostrar(int x[20][20],int n) { int i,j; for(i=1;i<=n;i++) {for(j=1;j<=n;j++) cout<<x[i][j]<<" "; cout<<endl; } getch( ); } 6.- Escriba un programa que halle los factores primos de un nmero en forma recursiva. # include<iostream.h> # include<math.h> # include<conio.h>

void fprimo(int num); void main( ) { int n; clrscr(); do{ cout<< " NUMERO = "; cin>> n; }while(n<1); fprimo(n); getch(); } void fprimo( int num) { int nr, k =1; if (num > 1) {do { k = k +1; } while( (num % k) != 0); cout<< " "<< k <<" "; nr = num / k; fprimo( nr); } }

PAG 6
6.- Escriba una funcin o metodo tal que reciba un nmero entero y retorne el menor nmero formado por las cifras extremas int menorN(int N) { int copia, cif1, cif2, r, num; copia = N; for(int i=1; i>0; i++) { r = N%10; if(N == copia) cif1 = r; N /= 10; if(N == 0) break; } cif2 = r; if(cif1 > cif2) num = cif1*10 + cif2; else num = cif2*10 + cif1; return num; Programa que muestra los nmeros pares hasta 30. #include <stdio.h> void main(){ int i=31; const int tope=30; for(i=0;i<=30;i=i+2){ printf("%d\n",i); } printf("\nHasta pronto"); } Programa que muestre los mltiplos de siete (hasta 123). #include <stdio.h> void main(){ int i=124;

const int tope=123; for(i=0;i<=123;i=i+7){ printf("%d\n",i); } printf("\n,Hasta pronto"); }

PAG 7
/*Dado el vector T de tamao n. Si el tamao es par invertir los elementos de la mitad de los elementos Ejemplo: v=[1][2][3][4][5][6] v(invertido)=[3][2][1][6][5][4] */ #include<stdio.h> #include<conio.h> void llenar (int V [], int d) { for (int i = 1 ; i <= d ; i++) { printf ("Inserte pos.[%d]: ",i); scanf("%d",&V[i]); } } void mostrar (int V [], int d) { for (int i = 1 ; i <= d ; i++) { printf ("[%d]",V[i]); } } void invierte (int V [], int d) { int aux1; int fin1 = d / 2; for (int i = 1 ; i <= (d / 2) / 2 ; i++) { aux1 = V [i]; V [i] = V [fin1]; V [fin1] = aux1; fin1--; } fin1 = d; for (int j = (d / 2) + 1 ; j <= (d / 2) + 1 ; j++) { aux1 = V [j]; V [j] = V [fin1]; V [fin1] = aux1; fin1--; } } int main () { int V[20]; int d; printf ("Inserte dimen. del vector: "); scanf("%d",&d); llenar (V, d); printf ("\nVECTOR ORIGINAL: \n"); mostrar (V, d); printf ("\n\nVECTOR LUEGO DE LA INVERSION: \n"); invierte (V, d); mostrar (V, d); getch(); } *Dada una matris cuadrada invertir su diagonal principal*/ Cdigo:

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

Disee un programa para Ordenar nombres alfabticamente


#include "stdafx.h" #include "iostream" #include"string.h" #include "conio.h" using namespace std; void leer(int *n, char name [20][40]); void escribir(int n, char name [20][40]); void ordenar(int n, char name [20][40]); int _tmain(int argc, _TCHAR* argv[]) { int a; char nombre [20][40]; leer(a,nombre); escribir(a,nombre);

ordenar(a,nombre); return 0; } void leer(int *n, char name [20][40]){ int i ; cout<<"ingrese n= ";cin>>*n; for(i=1,i<=*n, i++) {cout<<"nombre ["<<i<<"]="; cin>>name[i];} } void escribir (int n, char name [20][40]) { int i ; cout<<"lista de nombres"<<endl; for(i=1,i<=n,i++) cout<<name[i]<<endl; _gettch(); } void ordenar(int n, char name [20][40]){ int i,j; char temp[40]; for(i=1,i<=n, i++) / manejo for(j=1,j<=n, j++) if(strcpy, name [j], name[i]) {strcpy(temp,name[i]); strcpy(name[i], name[j]);

strcpy(name[j], temp);}}

PAG8
Funciones:
void llenaVector(){ srand(time(NULL)); for(int i=0 ; i<30; i++) a[i]= aleatorio (100,999); } void lista(){ for( int i=0 ; i<30; i++) cout<<"a["<< i << "]="<<a[i]<<endl; } int aleatorio (int min , int max){ return (int) (rand( )%(max-min+1) +min); } int esCapicua(int n) { if (n/100 == n%10) return 1; else return 0; } void primos(){ int c=0; cout<<"Numeros primos que estan en el vector"<<endl; for( int i = 0; i<30; i++){ if (esPrimo(a[i])){ c++; cout<<a[i]<<endl; } } cout<<"hay " <<c<< " numeros primos"<<endl; } Para ordenar vectores; [300,450 ,350] a [300, 350,450] void ordena(){ ordenavector(0,30); lista(); } void ordenavector(int v[],int n){

for(int i=0; i<=n-1; i++){ for ( int j=i+1; j<n; j++){ if(v[i]>v[j+){ // intercambia int aux; aux= v[i]; v[i]= v [j]; v[j]=aux; } } } }

// para ordenar las filas de una matriz


void ordenaPorFilas(){ int vector[COLUMNAS]; for(int f=0; f<FILAS; f++){ // pasa toda la fila al vector for(int c=0; c<COLUMNAS; c++) vector[c] = m[f][c]; ordenaVector(vector,COLUMNAS); // devuelve vector ordenado a la fila de la matriz for(int c=0;c<COLUMNAS; c++) m[f][c] = vector[c];

}
listaPorFila(); }

Potrebbero piacerti anche