Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lab 1 PDF
Lab 1 PDF
Integrantes: Carnet:
Amaya Figuera Rodrigo Alexander AF14002
Caballero Bautista Eduardo Enrique CB14008
Recinos Bolaños Manuel Josué RB14007
Sorto Castillo, Jairo Josué SC14009
int main()
{
float matriz[FILAS][COLUMNAS];
//matriz de FILASxCOLUMNAS
for (int i=0;i<FILAS;i++)
//llenar la matriz con numeros
aleatorios
for (int j=0;j<COLUMNAS;j++)
matriz[i][j]=(rand( )-RAND_MAX/2.0)*1.23456789;
cout.setf(ios::left|ios::scientific|ios::uppercase|ios::showpos);
//alineacion a la derecha, notacion científica,
//caracteres de formato en mayusculas, mostrar signo positivo
int main(){
float x[NPUNTOS], y[NPUNTOS], ymin=NPUNTOS, ymax=-NPUNTOS,xmin, xmax;
cout<<"Introduzca el limite inferior de x: ";
cin>>xmin;
cout<<"Introduzca el limite superior de x: ";
cin>>xmax;
/*llenar vectores y determinar maximo y minimo de la funcion*/
for (int i=0;i<NPUNTOS;i++){
x[i] = xmin+(xmax-xmin)/(NPUNTOS-1)*i;
y[i] = FUNCION(x[i]);
ymax = (y[i]>ymax) ? y[i]:ymax;
ymin = (y[i]<ymin) ? y[i]:ymin; }
cout.setf(ios::right|ios::scientific|ios::uppercase|ios::showpos);
//escribir cabeceras
cout <<setfill(' ')
<<setw(6)<<"x"
<<setw(11)<<"f(x)"
<<setw(35)<<"grafico"
<<endl;
for (int i=0;i<NPUNTOS;i++) {
cout<<'|';
cout.width(9); //ancho de campo 9
cout.precision(2); //precision 2
cout.fill(' ');// llenar con
blancos
cout<<x[i]<<'|';
cout.width(9); //ancho de campo 9
cout.precision(2); //precision 2
cout.fill(' '); // llenar con
blancos
cout<<y[i]<<'|';
cout.width( ( int ) 52
/(ymax-ymin)*(y[i]-ymin) );
cout.fill(' '); // llenar con
blancos
cout<<"*"<<endl;
}
return 0; }
#include <fstream>
#include <iostream>
using namespace std;
// Crear o sobreescribir el
Archivo de salida
fs.open(argv[2], ios::out);
if( !fs ){
cout << "El Archivo " << argv[2]
<< " no puede ser creado." <<
endl;
fe . close( );
return 1; }
do {
fe.read( buffer, 2048 ) ;//leer del archivo de entrada al buffer
fs . write(buffer,fe.gcount());
} while( !fe.eof( ) );
fe . close( );
fs . close( );
return 0;
1 2 1 2
1 2 3 1 2 3
1 2 3 5 1 2 3 5
1 2 3 5 7 1 2 3 5 7
#include <iostream>
#include <iomanip>
using namespace std;
int main () {
char oracion[cantidad];
int n=0, p;
cout << "\nIntroduzca una Oracion: "
<< "\nPresione Ctrl+c al haber
finalizado\n"
<< endl;
ofstream file ("oracion_inversa.dat");
do{
if (n >= cantidad) break;
} while ((oracion[n++]=getchar())!=EOF);
char *oracion2 = new char [strlen(oracion)+1];
strcpy (oracion2, oracion);
for (p=n-1; p>=0; p--)
file << oracion[p];
file.close();
cout << endl;
delete [] oracion2;
return 0;
}
3- Hacer un programa en C++ que genere una matriz de nxn de números aleatorios, y que guarde la
matriz inversa correspondiente en algún archivo. Tanto 'n' como el nombre del archivo se pasará desde
la línea de comandos y, si el archivo existe se debe lanzar una advertencia con el fin de no hacer una
sobre escritura.
#include<fstream>
#include<iostream>
#include<cstdlib>
using namespace std;
}
escribir<<endl;
}
escribir<< '\n';
escribir<< '\n';
for(i=0; i<j; i++){
for(k=0; k<j; k++){
escribir<<mat[k][i]<<'\t';
}
escribir<<endl;
}
escribir.close();
return 0;
ofstream escribir("Mil
numeros.txt");
srand(time(0));
for(int i=1;i<=1000;i++){
escribir<<i<<'.'<<'\t'<<rand()<<
endl;
//cout<<i<<rand()<<endl;
}
return 0;
}
5- El inventario de una tienda esta guardado en un archivo, en el cual cada producto utiliza los
siguientes campos: código de barras, nombre del producto, precio unitario y existencia. Hacer un
programa en C++ que busque un producto en particular, y si esta en el inventario indicar toda la
información relacionada con el. Desde la línea de comando se pasará el nombre del producto y del
archivo, si el número de parámetros no es adecuado se debe presentar un mensaje de error y si el
producto no esta en el inventario se debe mostrar en pantalla ''Producto no encontrado'', si el archivo no
existe se debe generar un beep y el mensaje ''Archivo no existe'' y si el archivo no se puede abrir se se
debe mostrar en pantalla ''Permiso denegado''.
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
strcpy(obbusqueda, argv[1]);
ifstream lec(argv[2]);
do{
n++;
}while(!(obbusqueda[n]=='\0'));
if(lec.fail()){
cerr <<"Permiso denegado "<<argv[2]<<" ó el archivo no existe\a"<<endl;
return 1;
}else{
while(!lec.eof()){
lec.getline(datos, 101);
strncpy(tex, datos, n);
while(i<n){
if(tex[i]==obbusqueda[i]){
j++;
}
i++;
}
if(i==j){
cout<<"Buscando "<<obbusqueda<<endl;
cout<<"En el archivo
"<<argv[2]<<endl;
cout<<"Datos
solicitados:"<<endl;
cout<<datos<<endl;
return 0;
}
i=0;
j=0;
}if(lec.eof()){
cout<<"El objeto"
<<obbusqueda<<" no esta
en el inventario\a"
<<endl;
Conclusiones:
C++ nos ofrece en términos generales una versión más optimizada que ANSI C dado que existe
herramientas como las funciones sobrecargadas que simplifican y minimizan el código.
La lógica de programación es en esencia la misma, solo existen cambios menores que debemos
tomar en cuenta, como el agregar “USING NAMESPACE” en los headers de los códigos, al imprimir o
capturar en pantalla no debemos especificar el tipo de variable, entre otros.
La capacidad de manipular el formato de salida ayuda a que los programas se vean de una forma
más ordenada sin una interfaz gráfica dado que trabajamos desde consola.