You are on page 1of 8

TRABAJO PROGRAMACION APLICADA

VECTORES

EDWIN RAFAEL HERNANDEZ MEJIA

201410749

PRESENTADO A:

ING. JESUS PEREA SANDOVAL

UNIVERSIDAD PEDAGOGICA Y TECNOLOGICA DE COLOMBIA

SOGAMOSO

2019
INTRODUCCION

En este trabajo se busca desarrollar ejercicios de programación utilizando los


conocimientos adquiridos en el transcurso del curso, principalmente la utilización
de vectores, para esto se usara una serie de funciones y operaciones matemáticas
que nos dará solución a los problemas planteados.

OBJETIVOS

Objetivo general:

Analizar y resolver los problemas planteados utilizando los conocimientos y


herramientas adquiridas durante el curso de programación aplicada.

Objetivos Específicos:

 Resolver los ejercicios mediante la utilización de vectores.


 Analizar, reconocer y diferenciar los vectores de tipo numérico y los
arreglos de caracteres dentro del el lenguaje de programación C.
 Utilizar la lógica matemática para la solución de los ejercicios propuestos.

DESARROLLO

Enunciado 1: generar 100 letras minúsculas y guardarlas en un arreglo de


caracteres, contar cuantas veces aparece cada letra en el vector.

Solución:

Después de declarar el vector, utilizamos un método de selección aleatoria para


definir los caracteres a analizar, una vez definidos ambos vectores se compara
cada letra, si se encuentra repetida el valor se guarda en una variable x y asi con
cada carácter.

Código C++:
#include<stdlib.h>
#include<time.h>
#include<stdio.h>

using namespace std;


int main(int argc, char** argv) {
srand(time(NULL));
int i,j,x,num;
string letras[30]={"
","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","
y","z"};
string aleatoria[150];

for(i=1;i<=100;i++){
num=1+rand()%(27-1);
aleatoria[i]=letras[num];
//cout<<a<<" "<<num<<endl;
}

cout<<endl;

for(i=1;i<=100;i++){
cout<<aleatoria[i]<<" ";
}

cout<<endl;

for(i=1;i<=26;i++){
x=0;
for(j=1;j<=100;j++){
if(letras[i]==aleatoria[j]){
x++;
}
}
cout<<letras[i]<<" Se repite "<<x<<" veces"<<endl;
}

return 0;
}
Enunciado 2: colocar 8 damas en un tablero de ajedrez sin que ninguna se ataque.

Solución matemática:

Sea N el conjunto de vectores de K-prometedores, 0<=K<=8,


sea G=(N,A), el grafo dirigido tal que (U,V) pertenece a A si y solo si existe un
entero K, con 0<=K<=8 tal que
 U es K-prometedor
 V es (K+1)-prometedor
 Ui = Vi para todo i pertenece a {1,……,k}

Código C++:

#include <iostream>
#include <conio.h>
#include <iomanip>

using namespace std;

int generarVector(int n, int x[]){


int i;
for (i=1;i<=8;i++){
x[i]=0;
cout<<x[i]<<setw(3);

}
}
void priSolucion(int n,int x[]){
int i,j,aux=0,a,b,c,d,e,f,g;
n=1;
a=6;b=8;c=3;d=7;e=4;f=2;g=5;
cout<<" ";

for (i=1;i<=8;i++){
for(j=i;j<=8;j++)
aux=n;
if(aux==n){
x[n]=1;
n=0;
}
cout<<x[i]<<setw(3);
}
cout<<endl;
for (i=1;i<=8;i++){
for(j=i;j<=8;j++)
aux=a;
if(aux==a){
x[1]=0;
x[a]=1;
}
cout<<x[i]<<setw(3);
}
cout<<endl;
for (i=1;i<=8;i++){
for(j=i;j<=8;j++)
aux=b;
if(aux==b){
x[a]=0;
x[b]=1;
}
cout<<x[i]<<setw(3);
}
cout<<endl;
for (i=1;i<=8;i++){
for(j=i;j<=8;j++)
aux=c;
if(aux==c){
x[b]=0;
x[c]=1;
}
cout<<x[i]<<setw(3);
}
cout<<endl;
for (i=1;i<=8;i++){
for(j=i;j<=8;j++)
aux=d;
if(aux==d){
x[c]=0;
x[d]=1;
}
cout<<x[i]<<setw(3);
}
cout<<endl;
for (i=1;i<=8;i++){
for(j=i;j<=8;j++)
aux=e;
if(aux==e){
x[d]=0;
x[e]=1;
}
cout<<x[i]<<setw(3);
}
cout<<endl;
for (i=1;i<=8;i++){
for(j=i;j<=8;j++)
aux=f;
if(aux==f){
x[e]=0;
x[f]=1;
}
cout<<x[i]<<setw(3);
}
cout<<endl;
for (i=1;i<=8;i++){
for(j=i;j<=8;j++)
aux=g;
if(aux==g){
x[f]=0;
x[g]=1;
}
cout<<x[i]<<setw(3);
}
}
void secSolucion(int n,int x[]){
int i,j,aux=0,a,b,c,d,e,f,g;
n=2;
a=5;b=7;c=1;d=3;e=8;f=6;g=4;
cout<<" ";

for (i=1;i<=8;i++){
for(j=i;j<=8;j++)
aux=n;
if(aux==n){
x[n]=1;

}
cout<<x[i]<<setw(3);
}
cout<<endl;
for (i=1;i<=8;i++){
for(j=i;j<=8;j++)
aux=a;
if(aux==a){
x[n]=0;
x[a]=1;
}
cout<<x[i]<<setw(3);
}
cout<<endl;
for (i=1;i<=8;i++){
for(j=i;j<=8;j++)
aux=b;
if(aux==b){
x[a]=0;
x[b]=1;
}
cout<<x[i]<<setw(3);
}
cout<<endl;
for (i=1;i<=8;i++){
for(j=i;j<=8;j++)
aux=c;
if(aux==c){
x[b]=0;
x[c]=1;
}
cout<<x[i]<<setw(3);
}
cout<<endl;
for (i=1;i<=8;i++){
for(j=i;j<=8;j++)
aux=d;
if(aux==d){
x[c]=0;
x[d]=1;
}
cout<<x[i]<<setw(3);
}
cout<<endl;
for (i=1;i<=8;i++){
for(j=i;j<=8;j++)
aux=e;
if(aux==e){
x[d]=0;
x[e]=1;
}
cout<<x[i]<<setw(3);
}
cout<<endl;
for (i=1;i<=8;i++){
for(j=i;j<=8;j++)
aux=f;
if(aux==f){
x[e]=0;
x[f]=1;
}
cout<<x[i]<<setw(3);
}
cout<<endl;
for (i=1;i<=8;i++){
for(j=i;j<=8;j++)
aux=g;
if(aux==g){
x[f]=0;
x[g]=1;
}
cout<<x[i]<<setw(3);
}

void generarSolucion(int n,int x[]){


int k;
cout<<endl<<"elija entre la solucion 1 o la solucion 2: ";
cin>>k;
if(k==1){
cout<<endl<<"solucion 1:"<<endl;
priSolucion(n,x);
}
if(k==2){
cout<<endl<<"solucion 2:"<<endl;
secSolucion(n,x);
}
if(k>2){
cout<<endl<<"solucion no valida (ingrese valores solo de 1 o 2)";
}
}

main (){

int n,x[50];
cout<<endl;
generarVector(n,x);
cout<<endl;
generarSolucion(n,x);

Conclusiones:

 Los vectores nos pueden ayudar en el conteo de datos, analizar valores y


ordenar de diversas maneras cualquier tipo de carácter.
 La programación es esencial en la actualidad ya que nos permite dar
soluciones rápidas a problemas simples y complejos.

Bibliografía:

https://es.wikipedia.org/wiki/Problema_de_las_ocho_reinas#Descripci%C3%B3n_del_algoritmo

You might also like