Computacion I

Aunque no pude hacer clases hoy, dentro de la semana les subire
ejercicios para que trabajen.

=)

8 Reinas (Spread to N-Queens)

El problema de las 8 Reinas es generalizado por el problema de las n Reinas. El problema consiste en colocar n Reinas en un tablero de ajedrez de n \times n de tal manera que ninguna de las Reinas quede atacando a otra.
Una de las soluciones es utilizar un algoritmo de tipo Bactracking.

Laberinto.java

public class laberinto{


public static char lab[][]=new char[9][9];//El laberinto
public static int masCorto = Integer.MAX_VALUE;


public static void main (String args[]){


lab=llenarTablero();
imprimirTablero();



}


public static char[][] tableroVacio(){

char x[][]= new char[9][9];
int i,j;

        for( i=0; i< lab.length;i++){
            for( j=0; j< lab.length;j++){
            x[i][j]=' ';
            }
        }
return x;
}

public static char[][] llenarTablero(){

char y[][] = tableroVacio();
//Las paredes
int i,j;
        for (i = 0; i<y.length ;i++){
        y[0][i]='*';
        y[y.len

Estructuras de Datos - Backtraking

Problema: se tiene una matriz de caracteres de dimensiones M+1xN+1 que representa un laberinto. En los elementos donde hay un caracter ' * ' significa que hay una pared y no se puede pasar por esa posición y por donde hay un espacio en blanco se puede pasar.

Escribir un método public static boolean salida(char[][] x, int i, int j, int M, int N) que retorne true si desde la posición i,j se puede encontrar una salida.

Objetos, clases y sobrecarga de operadores

¿Para que ocupar clases en c++?

la idea de la POO es crear objetos es crear objetos y asignarles ciertas responsanbilidades. Tambien es fomentar el encapsulamiento de estas teniendo mantenibilidad (mantener los programas a bajo costo) del codigo y extendebilidad ( Podemos agregar mas codigo al programa si reestructurar todo el programa)

Set de ejercicios Compu I

1.- Escriba un programa en el que se pida al usuario que ingrese diez enteros impares para sumarlos. Elabore el programa de manera que no se arruine si el usuario escribe algunos enteros pares. El programa debe salir del ciclo e imprimir la suma sólo cuando se hayan ingresado diez enteros impares.



2.-Dada las coordenadas x,y de dos puntos en el plano, escribir la ecuacion de la recta que los une, iterativamente.



3.-Escribir un programa que imprima los 20 primeros numeros primos.


EJEMPLO WHILE COMPUTACION I

#include <stdio.h>
#include <stdlib.h>

int main ( )
{
        int n , contar=1;
        float x , promedio , suma=0;

        printf ("Cuantos números desea leer?: ");
        scanf ("%d",&n);
        while (contar <= n) {
        printf ("x= ");
        scanf ("%f",&x);
        suma +=x;
        ++contar;
        }
        promedio=suma/n;
        printf ("\nEl promedio es: %.2f\n",promedio);

        system("exit");
return 0;
}

Ejercicios de recursividad en c++

1.- Realice un algoritmo recursivo que permita realizar una busqueda binaria
de numeros enteros dentro de un vector, para facilidad del ejercicio
suponga que el vector se encuentra ordenado de forma ascendente o descendete.
Analice los casos para las i-esimas posiciones del vector imprimiendo en cada caso
el estado .

2.-Cree un algoritmo recursivo que le permita retornar el Máximo Comun Divisor dentro de un
vector de 8 numeros enteros.

3.-Cree un algoritmo recursivo que le permita retornar la potencia de un numero p a p.

Ejemplos Semestre pasado

Algunos ejemplos del Semestre
Pasado de codigos en C.

Permutaciones en C++

#include <iostream>
using namespace std;

void Permutaciones(char *, int l=0);

int main(int argc, char *argv[]) {
   char palabra[] = "ABCDE";

   Permutaciones(palabra);
   
   cin.get();
   return 0;
}

void Permutaciones(char * cad, int l) {
   char c;    
   int i, j;  
   int n = strlen(cad);

   for(i = 0; i < n-l; i++) {
      if(n-l > 2) Permutaciones(cad, l+1);
      else cout << cad << ", ";
 
      c = cad[l];
      cad[l] = cad[l+i+1];
      cad[l+i+1] = c;
      if(l+i == n-1) {
         for(j = l; j < n; j++) cad[j] = cad[j+1];
         cad[n] = 0;

Powered by Drupal, an open source content management system

Syndicate content