jueves, 26 de mayo de 2011

PROBLEMA 1




1.Inicio:

ofstream archivo;
archivo.open("J:\\prog\\ejemplo.txt")
if(archivo.bad())
{
print, "No puede crear el archivo ejemplo.txt",endl
}
else{
archivo<<1<<" "<<50<<" Reprobado"<
PROBLEMA 2



1.Inicio:


ifstream arch1
int i,calif
char cadena[10]
arch1.open("J:\\prog\\ejemplo.txt")
if(arch1.bad())
{
print, "Incapaz de crear o abrir el archivo", endl
}
else
{
arch1>>i
while(!arch1.eof())
{
Print, i, " ",endl
arch1>>calif
print, calif, " \t "
arch1>>cadena;
cout<>i
}
arch1.close()
} }




PROBLEMA 3:




fstream f1;
char cadena[10],sigue,nombre[5][10]
int c1,c2,c3,c4,i=0
int promedio
int opcion
f1.open("J:\\prog\\ejemplo2.txt",ios::out);
do{
Print ,"1) Almacenar datos del alumno:",endl
Print ,"2) Reporte de alumnos:",endl
Print ,"3) Salida de programa:",endl
Print ,"Elige opcion:"
Read, opcion
switch(opcion)
{
case 1:
do
{
Print , "Nombre alumno: ", (i+1), " : "
Read, nombre[i]
Print ,"Calificacion 1:"
Read, c1
Print ,"Calificacion 2:"
Read, c2
Print ,"Calificacion 3:"
Read, c3
Print , "Calificacion 4:"
Read, c4
promedio=(c1+c2+c3+c4)/4
f1<=70)
{
f1<<"Aprobado"<>nombre[i]
while(!f1.eof())
{
cout<>c1
Print , c1, "\t";
f1>>c2;
Print , c2, "\t";
f1>>c3;
Print ,c3, "\t";
f1>>c4;
Print ,c4, "\t";
f1>>promedio;
Print , promedio, "\t";
f1>>cadena;
Print ,cadena,"\t", endl
f1>>nombre[i]
}
}
f1.close()
break;
case 3: Print ,"Salida Programa", endl;
break;
default: Print ,"Error en Opcion", endl
break;
}
}
while(opcion !=3)

}



PROBLEMA 4

Un archivo llamado polar.txt contiene las coordenadas pobres nesesarias en un programa de graficas.Actualmente este archivo contiene los siguientes datos.


Distancia (Pulgadas) Angulo (Grados)
2.0 45.0
6.0 30.0
10.4 45.0
4.0 60.0
12.0 55.0
8.0 15.0

a) Escriba u programa para crear este archivo.
b) Con base al archivo polar.txt escriba un programa que acepte del usuario los datos de distancia y angulo y los agregue al final del archivo.
c) Con el archivo polar. txt escriba u programa que lea este archivo y cree otro llamado xycord.txt las entradas al nuevo archivo deben contener las coordenadas rectangulares que corresponden a las coordenadas polares.
x=ycoseno
y=rseno

donde r es la coordenada de distancia y es el equivalente en radianes a la coordenada del angulo en el archivo polar.txt.


Solución:


void crearchivo()
{
fstream escribir;
escribir.open("J://prog//polar.txt",ios::out);
escribir,2.0," ",45.0,endl
,6.0," ",30.0,endl
,10.0," ",45.0,endl
,4.0," ",60.0,endl
,12.0," ",55.0,endl
,8.0," ",15.0,endl;
escribir.close();
}

void agregard()
{
float dist,angulo
char continuar
fstream escribir
escribir.open("J://prog//polar.txt",ios::app);
do
{
Print,"Distancia (Pulgadas):"
Read, dist
Print, "Angulo (Grados):"
Read, angulo
escribir<>d;
while (!f1.eof())
{
f1>>a;
rad=(a*3.1416)/180;
x=d*cos(rad);
y=d*sin(rad);
f2<>d;
cout<
#include
#include
void crearchivo()
{
fstream escribir;
escribir.open("J://prog//polar.txt",ios::out);
escribir<<2.0<<" "<<45.0<>dist;
cout<<"Angulo (Grados):";
cin>>angulo;
escribir<>continuar;
}
while (continuar=='S'||continuar=='s');
escribir.close();
}

void crearxycord()
{
float d,a,x,y,rad;
fstream f1;
fstream f2;
f1.open ("J://prog//polar.txt",ios::in);
f2.open ("J://prog//xycord.txt",ios::out);
f1>>d;
while (!f1.eof())
{
f1>>a;
rad=(a*3.1416)/180;
x=d*cos(rad);
y=d*sin(rad);
f2<>d;
cout<


PROBLEMA 5

Escriba los cuatro numeros reales
92.65
88.72
77.46
82.93
en un archivo texto llamado resultados.Despues de escribir los datos en el archivo el programa debe leerlos determinar y desplegar el promedio de los cuatro numeros leidos.


Solución:



float num
fstream archivo;
archivo.open("J://prog//resultados.txt",ios::out,ios::in);
archivo<<92.65<<" "<<88.72<<" "<<77.46<<" "<<82.93<
archivo.close();
archivo.open("J://prog//resultados.txt",ios::in);
float suma=0
for (int i=1;i<=4;i++)
{
archivo>>num;
Print, num<<" "
suma=suma+num
}
Print, endl
float promedio=suma/4.0
Print, "El promedio es:", promedio, endl


FIN


PROBLEMA 6


Suponga que desea introducir una lista de cadenas en un arreglo de tamaño 10.
Haga un programa que considere un metodo para ordenar alfabeticamente estas cadenas y escribir la lista de las cadenas en forma ordenada, en orden ascendente.

Solución:

void ordenar(int n,char x[10][12])
{
char temp[12];
int i,elem;
for(elem=0;elem<(n-1);elem++)
{
for(i=elem+1;i<(n-1);i++)
{
if(strcmpi(x[elem],x[i])<0)
{
strcpy(temp,x[elem]);
strcpy(x[elem],x[i]);
strcpy(x[i],temp);
} } } }

void main()
{
int i,n=0
char x[10][12]
Print, "Escribe Fin para terminar ", endl
do
{
Print, "Cadena ", (n+1), " : "
Read, x[n]
}
while(strcmpi(x[n++],"fin"));
ordenar(--n,x);
Print, "Lista Ordenar cadena ", endl;
for(i=0;i
{
Print, x[i], endl
} }


TAREA 1

PROBLEMA 1 :
1.- Inicio.
X, Y int
Linea[ ]="|" char
for (X=1;X<=15;X++)
{
Y=pow((X-8),2.0)+3
Linea[Y]='*' //Establecer el caracter en un asterisco
print " ",Linea<
}
FIN.

PROBLEMA 2:
1.- Inicio.
int X,Y;
Etiqueta[ ]=" Eje Y" char
Eje[ ]="+-------------------------------------------->" char
Linea[ ]="| " char
print " ",Etiqueta<
print " ",Eje<
for (X=1;X<=15;X++)
{
Y=pow((X-8),2.0)+3
Linea[Y]='*' // Establecer el caracter en un asterisco
print " ",linea<
Linea[Y]=' ' // Restablecer el caracter en un espacio en blanco
}
Fin.


PRACTICA 9
PROBLEMA 1

Escriba un programa que encuentre y despliegue el valor máximo y el valor mínimo de un arreglo bidimensional de números enteros también despliegue el índice del renglón y columna que corresponden al valor máximo y mínimo.

Código

#include
#include

void introdatos(int v[5][4])
{
int r,c;
for(r=0;r<5;r++)
{
for(c=0;c<4;c++)
{
cout<<"Dato"<<(r+1)<<","<<(c+1)<<":";
cin>>v[r][c];
} } }


void sumarenglon(int v[5][4])
{
int suma,r,c;
cout<
cout<<"Suma de renglones"<
cout<
for(r=0;r<5;r++)
{
suma=0;
for(c=0;c<4;c++)
{
suma=suma+v[r][c];
}
cout<<"Renglon"<<(r+1)<<": "<
} }

void sumacolumna(int v[5][4])
{
int suma,r,c;
cout<
cout<<"Suma de columnas"<
cout<
for(c=0;c<4;c++)
{
suma=0;
for(r=0;r<5;r++)
{
suma=suma+v[r][c];
}
cout<<"La suma de la columna "<<(c+1)<<" es: "<
} }

void imprimetabla(int v[5][4])
{
int r,c;
cout<
for(r=0;r<5;r++)
{
for(c=0;c<4;c++)
{
cout<
}
cout<
} }

void maximo(int v[5][4],int &max,int &posr,int &posc)
{
int r,c;
max=v[0][0];
posr=0;
posc=0;
for(r=0;r<5;r++)
{
for(c=0;c<4;c++)
{
if(v[r][c]>max)
{
max=v[r][c];
posr=r;
posc=c; }
} } }

void minimo(int v[5][4],int &min,int &posr,int &posc)
{
int r,c;
min=v[0][0];
posr=0;
posc=0;
for(r=0;r<5;r++)
{
for(c=0;c<4;c++)
{
if(v[r][c]
{
min=v[r][c];
posr=r;
posc=c; }
} } }

void main()
{
int valores[5][4];
int max,min,posr,posc,posr1,posc1;
introdatos(valores);
sumarenglon(valores);
sumacolumna(valores);
imprimetabla(valores);
maximo(valores,max,posr,posc);
minimo(valores,min,posr1,posc1);
cout<<"El valor maximo es: "<
cout<<"El valor minimo es: "<
getch();
}



PROBLEMA 2:


Escriba un programa que sume los elementos equiparables de los arreglos bidimensionales denominado primero y segundo.Ambos arreglos deben tener dos renglones y 3 columnas.Agregar el metodo para la multiplicacion equiparable. Por ejemplo los elementos [1][2] del arreglo que resulte deben ser la suma de primero [1][2] y segundo [1][2]. Los arreglos primero y segundo son introducidos por el usuario.


Código



#include
#include


void primera(int primera[2][3])
{
int r,c;
for(r=0;r<2;r++)
{
for(c=0;c<3;c++)
{
cout<<"Dato: "<<(r+1)<<" , "<<(c+1)<<" : ";
cin>>primera[r][c];
} } }


void segunda(int segunda[2][3])
{
int r,c;
for(r=0;r<2;r++)
{
for(c=0;c<3;c++)
{
cout<<"Dato: "<<(r+1)<<" , "<<(c+1)<<" : ";
cin>>segunda[r][c];
} } }


void suma(int primera[2][3],int segunda[2][3],int tercera[2][3])
{
for(int r=0;r<2;r++)
{
for(int c=0;c<3;c++)
{
tercera[r][c]=primera[r][c]+segunda[r][c];
} } }


void multiplicacion(int primera[2][3],int segunda[2][3],int tercera[2][3])
{
for(int r=0;r<2;r++)
{
for(int c=0;c<3;c++)
{
tercera[r][c]=primera[r][c]*segunda[r][c];
} } }


void imprimir(int v[2][3])
{
int r,c;
for(r=0;r<2;r++)
{
for(c=0;c<3;c++)
{
cout<
}
cout<
} }


void main()
{
int val[2][3];
int val1[2][3];
int val2[2][3];
int val3[2][3];
cout<<" ---** Tabla 1 **---"<
cout<
primera(val);
cout<
cout<<" ---** Tabla 2 **--- "<
cout<
segunda(val1);
suma(val,val1,val2);
multiplicacion(val,val1,val3);
cout<
cout<<" --------*Tabla 1*------- "<
cout<
imprimir(val);
cout<
cout<<" -------- *Tabla 2*------- "<
cout<
imprimir(val1);
cout<
cout<<" -------*Suma*------- "<
cout<
imprimir(val2);
cout<
cout<<" -----------*Multiplicacion*--------- "<
cout<
imprimir(val3);
getch();
}


PROBLEMA 3:



Dada la matriz "a" de la forma

a11 a12.....a1m
a21 a22.....a2m
an1 an2.....anm

La transpuesta de A´ de A está dada por

a11 a21.....an1
a12 a22.....an2

a1m a2m.....anm

Esto quiere decir que se obtiene cambiando renglones por columnas y viceversa, formulece un programa para obtener la matriz y la transpuesta.

PROBLEMA 5:



Elaborar un programa que lea el nombre de 10 trabajadores y su produccion mensual por cada uno de los 12 meses del año, en dos arreglos uno para nombres y otro para produccion en los cuales las las "n" corresponden al trabajador.

Se requiere el siguiente reporte
Estacion Total Produccion
1 xxxxxxx
2 xxxxxxx
3 xxxxxxx
4 xxxxxxx
.
.
.
15 xxxxxxx

Total
Estacion mas productiva:________
Encargado de la Estacion:__________
Cantidad Producida:___________



PROBLEMA 6:
Calcular un programa que genere una matriz de 10 x 10 en la cual asigne ceros a todos los elementos excepto a los de la diagonal principal donde asignara unos, imprime dicha matriz.


Código



#include
#include


void asignarvalores(int m[10][10])
{
int r,c;
for (r=0;r<10;r++)
{
for (c=0;c<10;c++)
{
if(r==c)
{
m[r][c]=1;
}
else{ m[r][c]=0; }
} } }


void imprimematriz(int m[10][10])
{
int i;
for (i=0;i<10;i++)
{
for (int j=0;j<10;j++)
{
cout<
}
cout<
} }


void main ()
{
int matriz[10][10];
asignarvalores(matriz);
imprimematriz(matriz);
getch ();
}



PROBLEMA 7:

Elaborar un programa que de el informe de 10 trabajadores y su producción mensual los 12 meses en 2 arreglos. El informe debe de ir de la siguiente manera:
Nombre Total de producción:
________ ________________
________ ________________
________ ________________
Promedio de producción:______________




PROBLEMA 8:


Realice un programa que cree un archivo con el nombre prueba.txt, con los valores:
10 32 45 66
42 90 35 46
28 76 31 92


Código

#include
#include


void main()
{
ofstream salida;
salida.open("J://prog//prueba.txt");
salida<<" 10 32 45 66 "<

PROBLEMA 9:
Ejecute el archivo creado en el ejercicio 8 en un programa completo. Que realice la suma de los renglones y columnas de los valores dados en el archivo.


Código



#include
#include


void sumaren(int dato[3][4])
{
int suma,i,j;
cout<>dato[i][j];
cout<


PROBLEMA 10:

Almacene los siguientes datos en un archivo.

10.1
a) 5,96,87,28,13,21,4,92,82,85,87,6,72,69,85,75,81,73.

10.2
b) Escriba un programa para calcular y desplegar el promedio de cada grupo de numeros en el archivo creado en el insciso a).Los datos se han arreglado en el archivo para que cada grupo de numeros, sea presedido por el numero de elementos de datos en el grupo. Entonces el primer numero en el archivo, indica que los siguientes numeros se deben agrupar juntos. El numero cuatro indica que los siguientes cuatro numeros forman un grupo y el seis indica que los ultimos seis numeros hacen un grupo.


PROBLEMA 11:



#include
#include


void main()
{
ifstream f2;
f2.open("J://prog//grupos.txt");
int n,suma,numero,j,i;
for(i=1;i<=3;i++)
{
suma=0;
f2>>n;
for (j=1;j<=n;j++)
{
f2 >>numero;
suma=suma+numero;
}
int prom=suma/n;
cout<<"El promedio del grupo "<<(i)<<" : "<


PROBLEMA 12:


Escriba un programa que pueda crear un archivo texto llamado voltios y escriba en el los siguientes 5 registros.


a) 120.3, 122.7, 90.3, 99.8, 95.3, 120.5, 127.3, 120.8, 123.2, 118.4, 123.8, 116.6, 122.4, 95.6, 118.2, 120.0, 123.5, 130.2, 123.9, 124.4.

Código

#include
#include

void main()
{
ofstream archivo;
archivo.open("J://Prog//voltios.txt");
archivo<<"120.3 122.7 90.3 99.8"<
archivo<<"95.3 120.5 127.3 120.8"<
archivo<<"123.2 118.4 123.8 116.6"<
archivo<<"122.4 95.1 116.7 120.0"<
archivo<<"123.5 130.2 123.9 129.4"<
archivo.close();
cout<<"Archivo almacenado"<
getch();
}