No we, yo decia la diferencia usar brake o continue en un loop for o while
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: rir3760 en 7 Julio 2011, 17:19 PM
Me parece el enunciado es bastante claro. El punto clave para obtener la solucion exacta es como, en ese libro y hasta ese punto, almacenan las palabras leidas mediante el objeto cin, utilizando un:
A) array de caracteres.
B) objeto de la clase string
El algoritmo es sencillo: inicias con un acumulador en cero y, por cada digito del numero binario empezando por el mas significativo y terminando con el menos, multiplicas el acumulador por dos y sumas el digito.
Por ejemplo en el caso de 1101:1) Acumulador a 0
A D (A es el acumulador y D el digito procesado)
2) 0 * 2 + 1 == 1
3) 1 * 2 + 1 == 3
4) 3 * 2 + 0 == 6
5) 6 * 2 + 1 == 13
Un saludo
int a,b,c,d;
cin>>a;
cin>>b;
cin>>c;
cin>>d;
/* utilizando 4 variables y que cada una tuviera un valor para
despues multiplicarlo
y luego hacer a*1+b*2+c*4+d*8
pero el problema esta que al ingresar el valor de las variables
se veria asi*/
1
1
0
1
//cuando yo quiero que se vea asi
1101
Cita de: XXX-ZERO-XXX en 7 Julio 2011, 05:32 AMeste ejercicio es de un libro("Como programar en C++, el Deitel)
Usas string entonces y vas haciendo var = var + nuevodato
CitarIntroduzca un entero (de cuatro dígitos) que contenga sólo 0s y 1s (es decir, un entero "binario") e imprima su equivalente decimal. (Sugerencia: utilice los operadores de módulo y de división para detectar los dígitos del número "binario" uno por uno, de derecha a izquierda. Al igual que en el sistema numérico decimal, donde el dígito más a la derecha tiene un valor posicional de 1, y el siguiente dígito a la izquierda tiene un valor posicional de 10, y a continuación de 100, y a continuación de 1000, etc., en un sistema numérico binario, el dígito más a la derecha tiene un valor posicional de 1, el siguiente dígito a la derecha tiene un valor posicional de 2, y a continuación de 4 , y a continuación de 8, etc. Por lo tanto, el número decimal 234 puede ser interpretado como 4 * 1 + 3 * 10 + 2 * 100. El equivalente decimal del número 1101 binario es 1 * 1 + 0 * 2 + 1 * 4 + 1 * 8 o bien, 1 + 0 + 4 + 8, es decir 13).
int a,b,c;
cin>>a; //ejemplo aqui 10
cin>>b; //ejemplo aqui 10
cin>>c; //ejemplo aqui 10
10
10
10
101010
#include<iostream>
using namespace std;
int main()
{
int contador=1,lado=5, contador2=1;
cout<<"cuanto mide el lado del cuadrado?(Maximo 20): ";
cin>>lado;
if(lado > 0)
{
while(contador <= lado)
{
while(contador2 <= lado)
{
cout<<"* ";
++contador2;
}
++contador;
}
contador = 2;
contador2 = 2;
while(contador <= lado)
{
contador2=0;
cout<<endl;
cout<<"* ";
while(contador2 != lado)
{
cout<<" ";
++contador2;
}
++contador;
cout<<" *";
}
cout<<endl;
contador=1;
contador2=1;
while(contador <= lado)
{
while(contador2 <= lado)
{
cout<<"* ";
++contador2;
}
++contador;
}
}
else
{
cout<<"la medida del lado no puede ser 0";
cout<<endl;
return main();
}
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int cont=1, cont2=1;
int numero=5;
/*
cout<<"Cuanto mide el lado del cuadrado: ";
cin>>numero;*/
while(cont <= numero)
{
while(cont2 <= numero)
{
cout <<"*";
++cont2;
}
cont2=1;
while(cont2 <= numero)
{
cout<<"*";
while(cont2<=numero)
{
cout<<" ";
++cont2;
}
cout<<"*";
}
cout<<endl;
++cont;
}
system("pause");
return 0;
}