Ir al contenido principal

Programacion: IF - Robot y Platafora de 50 posiciones y Plataforma de 10 posiciones

1.- Tenemos a nuestro robot subido en una plataforma móvil de 50 posiciones. El robot al iniciar el algoritmo puede estar situado en cualquiera de ellas. Cada vez que iniciamos el algoritmo existirán una cantidad de bloques sin determinar (sólo podrá existir un bloque por cada posición). Lo que queremos es que después de que el robot se recorra todas y cada una de las posiciones (preferentemente de la 1 a la 50), nos figa si existen más posiciones con bloques o posiciones sin bloques.

#include<iostream.h>
#include<conio.h>
void main()
{int cb,sb;
char caja,op;
do
{cb=0;sb=0;
clrscr();
cout<<"Escirbir v si hay caja y escribir f si no hay caja en la plataforma"<<endl;
cout<<"********************************************************************"<<endl<<endl;
for(int c=1;c<51;c++)
{
do
{cout<<"Hay caja en posicion ["<<c<<"]=";
cin>>caja;
} while(caja!='f' && caja!='v');

 if(caja=='v')
 {cb++;
   }
 if(caja=='f')
 {sb++;
  }
 }
 cout<<"cantidad de posiciones que estan con bloques:"<<cb<<endl;
 cout<<"cantidad de posiciones que estan sin bloques:"<<sb<<endl;
 cout<<"desea continuar [s/n]:";
 cin>>op;
 }
 while(op=='s');
 }






2.- Recorrido de robot en plataforma de 10 posiciones

#include<iostream.h>
#include<conio.h>
void main()
{char bloqueA,bloqueB;
 int pos1, pos2;
 clrscr();
 cout<<"Ingresar Primer bloque:";
 cin>>bloqueA;
 cout<<"Ingresar posicion del bloque"<<bloqueA<<":";
 cin>>pos1;
 cout<<"Ingresar segundo bloque:";
 cin>>bloqueB;
 cout<<"Ingresar posicion del bloque"<<bloqueB<<":";
 cin>>pos2;
 cout<<endl;
if(pos1!=10 && pos2!=10)
{
 if(pos1!=pos2)
 {
  if(bloqueA=='A' || bloqueA=='a')
   {if(pos1==1)
    cout<<"No hay cambios para hacer, porque robot A esta en:"<<pos1<<endl;
     else
       { while(pos1!=1)
         {pos1=pos1-1;
          {
          if(pos1==1)
            cout<<"El cambio se hizo, el bloque A esta en posicion:"<<pos1;
              else
               {if(pos1!=1)
                 {do
                   {
                     pos1=pos1-1;
                   }while(pos1!=1);
                   }
                    if(pos1==1)
                    cout<<"El cambio se hizo, el bloque A esta en posicion:"<<pos1<<endl;

               }
             }
            }
        }
   }


    if(bloqueB=='b' || bloqueB=='B')
   {if(pos2==2)
    cout<<"No hay cambios para hacer, porque robot B esta en:"<<pos2<<endl;
     else
       { while(pos2!=2)
         {pos2=pos2-1;
          {
          if(pos2==2)
            cout<<"El cambio se hizo, el bloque B esta en posicion:"<<pos2;
              else
               {if(pos2!=2)
                 {do
                   {
                     pos2=pos2-1;
                   }while(pos2!=2);
                   }
                    if(pos2==2)
                    cout<<"El cambio se hizo, el bloque B esta en posicion:"<<pos2<<endl;

               }
             }
            }
        }
   }
 }
 else
 cout<<"Hay un error, bloque A y bloque B tienen las mismas posiciones";
 }
else
cout<<"Tiene que ser menor de 10, porque la ultima posicion no se tiene en cuenta";
 getch();
 }




Comentarios

Entradas más populares de este blog

Lenguaje de Programacion en Java: Ecuación de primer grado

public class Main {     public static void main(String[] args) {         float x,a,e;                   Scanner teclado = new Scanner(System.in);         System.out.println("Coeficiente de X:");         x=teclado.nextInt();         System.out.println("Término independiente:");         a=teclado.nextInt();         if(a==0)           System.out.println("No es una ecuación de primer grado");           else         {              e=-a/x;              System.out.println("La raíz es=" +e);         }                                     } ...

Programacion: Arbol binario - Programacion en c++

1.- Hacer un programa que permita buscar un elemento, el elemento mayor, el elemento menor y el menor de los mayores de un árbol binario. #include <iostream.h> #include <conio.h> struct nodo     {      int valor;      struct nodo* izq;      struct nodo* der;     }; typedef struct nodo *ABB; void inserta(ABB& ,int); void preorden(ABB); void postorden(ABB); void enorden(ABB); void verarbol(ABB,int); int buscar(ABB,int); int buscarmayor(ABB); int buscarmenor(ABB); void podar(ABB&,int); void main() { ABB arbol=NULL; ABB subarbol=NULL; int n,x,opc,a;   do     {      cout<<"menu principal"<<endl;      cout<<"1.ingresar elementos"<<endl;      cout<<"2.pre orden"<<endl;      cout<<"3.mostrar hojas"<...

Programación en c++ : While - series: límite del numerador

1.- Hacer un programa que nos permita ingresar el límite del numerador hasta donde queremos que se realice la suma, sólo el numerador tendrá el límite, el denominador no cambiará, por ejemplo; 1/2 , 2/2, 3/2, 4/2 ..... #include<iostream>  #include<conio.h> int main()  {  int num=0,suma=0,denominador=2,limite;  clrscr();  cout<<"Ingrese el limite del numerador: ";  cin>>limite; while (num<=limite)  {  cout<<num<<"/"<<denominador<<endl;  suma=suma+num;  num=num+1; }  cout<<"Suma total: "<<suma<<"/"<<denominador<<endl;  getch();  }