Skip to content
Snippets Groups Projects
Commit d4b71070 authored by Brayan Santiago Amorocho Lizcano's avatar Brayan Santiago Amorocho Lizcano
Browse files

Ejercicios en clase

parent b064c9d5
No related branches found
No related tags found
No related merge requests found
Showing
with 183 additions and 0 deletions
#include <iostream>
#include <cmath>
#include <vector>
#include <cstdlib>
using namespace std;
int main(){
// Creamos el vector aleatorio
int n, temp;
cout << "Ingrese el tamaño del vector: ";
cin >> n;
srand(time(0));
int lista[n];
for(int i=0; i < n; i++)
{
lista[i] = rand() % 20;
//cout <<lista[i] << " ";
}
//cout << endl;
// Ordenamos el vector
for (int i=0; i< n; i++){
for(int j=i+1; j<n; j++){
if (lista[i] > lista[j]){
temp = lista[j];
lista[j] = lista[i];
lista[i] = temp;
}
}
}
for(int i = 0; i < n; i++)
{
cout << lista[i] << " ";
}
cout << endl;
// Comenzamos con la búsqueda binaria
int L,R, m, T;
L = 0;
R = n-1;
cout << "Ingrese el valor a buscar: ";
cin >> T;
while (L<=R){
m = floor((L+R)/2);
if(lista[m]<T){
L = m + 1;
}
else if(lista[m]>T){
R = m-1;
}
else if(lista[m] == T){
cout << "El valor " << T << " se encuentra en la posición: " << m;
break;
}
}
}
\ No newline at end of file
File added
#include <cstdlib>
#include <iostream>
using namespace std;
// comentario de prueba para el git
int main()
{
// semilla de los números aleatorios
// pongo esto para no tener que introducirlos desde el teclado.
srand(time(0));
int n;
int operaciones, intercambios;
cout << "Introduzca el número de elementos del vector\n" ;
cin >> n;
// creamos un vector con números enteros aleatorios
int lista[n], lista2[n];
for(int i = 0; i < n; i++)
{
lista[i] = rand() % 100;
lista2[i] = lista[i];
cout << lista[i] << " ";
}
cout << endl;
// Acá empezamos el ordenamiento
int temp;
operaciones = 0;
intercambios = 0;
for (int i=0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
// acá viene el posible intercambio
operaciones++;
if (lista[j] > lista[j+1])
{
// temp = lista[j];
// lista[j] = lista[j + 1];
// lista[j + 1] = temp;
swap(lista[j], lista[j + 1]);
intercambios++;
}
}
// el paso interno
}
cout << "primera versión de ordenamiento" << endl;
cout << "Numero de comparaciones realizadas: " << operaciones << " Intercambios: " << intercambios << endl;
// imprimir el vector ordenado
for(int i = 0; i < n; i++)
{
cout << lista[i] << " ";
}
cout << endl;
operaciones = 0;
intercambios = 0;
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
operaciones++;
if (lista2[i] > lista2[j])
{
temp = lista2[j];
lista2[j] = lista2[i];
lista2[i] = temp;
intercambios++;
}
}
}
cout << "Segunda versión del ordenamiento" << endl;
cout << "Numero de comparaciones realizadas: " << operaciones << " Intercambios: " << intercambios << endl;
// imprimir el vector ordenado
for(int i = 0; i < n; i++)
{
cout << lista2[i] << " ";
}
cout << endl;
return 0;
}
\ No newline at end of file
File added
// En el presente código se ingresa una integral definida de determinada función y arroja un valor aproximado mediante sumas de riemann
#include <iostream>
#include <cmath>
#include <vector>
#include <math.h>
using namespace std;
int main(){
float a,b;
int n;
// Ingresar los límites
cout << "Ingrese el valor del límite inferior: ";
cin >> a;
cout << "Ingrese el valor del límite superior: ";
cin >> b;
cout << "Ingrese el número de particiones: ";
cin >> n;
// Calculamos la integral f(x) = x³ + 2x² -x +8
float dx, suma, total;
vector <double> areas;
dx = (b-a)/n;
total = 0;
for(int i=1; i<n; i++){
suma = pow(a+i*dx,3)+2*pow(a+i*dx,2) - (a+i*dx) + 8;
areas.push_back(suma*dx); // Guardamos el valor de las áreas en un vector
total += areas[i-1];
}
// Imprimimos la integral:
cout << "El valor de la integral de f(x) = sin(x) de " << a << " a " << b << " es: " << total << endl;
}
\ No newline at end of file
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment