Menú

Mostrar Mensajes

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ú

Mensajes - Estudiante000000

#21
Programación C/C++ / Re: Duda .
18 Noviembre 2018, 21:46 PM
Cita de: MAFUS en 18 Noviembre 2018, 20:37 PM
Mira esto:
for(i=0;i=9;i++)
¿Qué ves?

Veo un ciclo que iterara desde la posicion 0 hasta la posicion 9 , desde el 0 de 1 en 1.

No entiendo que me quieres decir , me explicas?
#22
Programación C/C++ / Duda .
18 Noviembre 2018, 19:58 PM
Un programa que lea 10 numeros en un vector y que cuando consiga numeros pares e impares los guarde en un vector aparte por separado , si me corrigen mis fallas lo agradeceria  , estoy fallando en pasar los pares e impares  a sus vectores destinados.

Código (cpp) [Seleccionar]


#include<iostream>
#include<stdlib.h>

using namespace std;

int main(){

int numeros[10] = {1,2,3,4,5,6,7,8,9,10};
int pares[10];
int impares[10];
int i,aux1,aux2;

for(i=0;i=9;i++){
if(numeros[i]%2==0){
aux1=numeros[i];
   numeros[i]=pares[i];
   pares[i]=aux1;
}
else if(numeros[i]%2==0){
aux2=numeros[i];
numeros[i]=impares[i];
impares[i]=aux2;
}
}

for(i=0;i=9;i++){

cout<<"\nNUMEROS PARES";
cout<<pares[i]<<endl;
cout<<"\n";
cout<<"\n";
cout<<"\n";
cout<<"\n";
cout<<"\nNUMEROS IMPARES";
cout<<impares[i]<<endl;
}

system("pause");
return 0;
}





EL PROGRAMA NO ME MUESTRA ERROR NO SE QUE PASA.

#23
<i = 2> <aux1 = 9> -> 9 no es divisible por 2, entonces nos saltamos todo el <if> y hacemos otra iteración con <i = 3> (ahora no se ha hecho <i = 1> porque no hemos entrado en el <if>).
<i = 3> <aux1 = 9> -> 9 sí es divisible por 3, entonces <aux1 = 3> y entramos al if. ¿Existe ya el 3 en <base1>? No. Vamos al siguiente <if>, buscamos el primer 0 y metemos el 3 y ponemos a 1 el array <exp1> en esa posición. Resultado:
base1[5] = {0,2,1,0,0}
exp1[5] = {0,1,1,0,0}
Es decir que <aux1 = 18> es divisible por (2^1 * 3^1).

Ahora sí, reiniciamos i <i = 1> y otra iteración pero ahora <aux1 = 3>.
<i = 2> <aux1 = 3> -> 3 no es divisible por 2. No hacemos nada.
<i = 3> <aux1 = 3> -> 3 sí es divisible por 3, entonces <aux1 = 1> y entramos al <if>. ¿Existe ya el 3 en <base1>? Sí, entonces incrementamos el exponente y salimos del while. Resultado:
base1[5] = {0,2,3,0,0}
exp1[5] = {0,1,2,0,0}
Es decir que <aux1 = 18> es divisible por (2^1 * 3^2).

Ahora reiniciamos <i = 1> y <aux1 = 1>. Se ejecuta el incremento del <for> entonces <i = 2> y como no se cumple la condición del <for> ya que 2 > 1 entonces termina aquí este bloque.



Muchisimas gracias tu explicacion es perfecta y me ayuda demasiado , seguire analizando el restante del codigo y te lo hare saber mi duda , ahora tengo una pequeña duda  cuando es el numero 9 divisible entre 3 entramos al <if> , y pones el 3 en el array base y en el array exp 1 correcto pero porque pusiste 1 no se si te habras equivocado hazmelo saber porfa en esta parte


"<i = 2> <aux1 = 9> -> 9 no es divisible por 2, entonces nos saltamos todo el <if> y hacemos otra iteración con <i = 3> (ahora no se ha hecho <i = 1> porque no hemos entrado en el <if>).
<i = 3> <aux1 = 9> -> 9 sí es divisible por 3, entonces <aux1 = 3> y entramos al if. ¿Existe ya el 3 en <base1>? No. Vamos al siguiente <if>, buscamos el primer 0 y metemos el 3 y ponemos a 1 el array <exp1> en esa posición. Resultado:
base1[5] = {0,2,1,0,0}
exp1[5] = {0,1,1,0,0}
Es decir que <aux1 = 18> es divisible por (2^1 * 3^1) "



Deberia ser base1[5] = {0,2,3,0,0} ?

y Bueno los comentarios del 3 al 5 son la misma descomposiciòn en factores primos seguire analizando el codigo y te hare saber lo que creo que se y mis dudas muchisimas gracias por tu ayuda eres genial!
#24
Pero realmente me quedo en el comentario 3 , y de ahi para arriba algunos son similares pero son demasiadas lineas de codigo que me pierdo y no se que estan haciendo :(
#25
Si gracias obviamente los primeros son sencillos , lo revisare mas a fondo y cualquier duda te la hare saber muchas gracias.
#26
Cita de: MAFUS en 17 Noviembre 2018, 00:24 AM
Eso es porqué copió tal cual el código sin envolverlo entre etiquetas code. De esta forma todo lo que sea un i entre corcheas se convierte en cursivas. Si te fijas dónde debería haber un subindice empiezan a haber letras en cursiva. Cómo no cierra esta etiqueta, este tipo de letras de duran hasta el final del mensaje.

Ese seria el problema es que  yo copio el codigo tal cual como esta y no lo envuelvo en etiquetas code seguro por eso no puedes compilar ninguno de los que he posteado pero en el link que puse  en ese blog estan los programas que he posteado la mayoria.
#27
Cita de: YreX-DwX en 16 Noviembre 2018, 23:31 PM
Me he confundido antes de post y te he contestado en el otro que te explique. Pero bueno así si lo ve alguien que me lo explique... Lo pongo también aquí para que se entienda mi comentario.

En ese caso me gustaría que alguien me explicase cómo pueden compilar esos códigos. Porque hasta donde yo llego no puedes acceder a cada elemento de un array n-dimensional sin usar algún tipo de indexación y en este programa se modifican los valores de los arrays sin hacer uso de los índices.

La única explicación que se me ocurre es que el propio IDE (Visual Basic C++ si no me equivoco) sea capaz de añadir internamente los índices en cada uno de los bucles. Ya que yo compilo todo desde la terminal de Ubuntu 18 sin ningún tipo de IDE y por lo tanto no sé cómo funciona VIsual Basic C++.

Me he quedado realmente intrigado. Si pudieras preguntar esto a tu profesor de la universidad o algún otro usuario que me saque de esta intriga.

Entiendo ya vi el problema de porque no lo puedes compilar , si puedes revisar este link esta el codigo y de ahi lo puedes copiar sin ningun problema para que pruebes que compile solo añade la libreria #include<windows.h> y quitale el system("pause") y  me dices.

http://usmtoday2018.blogspot.com/2018/11/programacion-ii-ejercicios-actividad_16.html
#28
Cita de: Estudiante000000 en 16 Noviembre 2018, 23:17 PM
Si compila amigo.

El programa lo ejecute y compila perfectamente y saca el mcd y el mcm sin ningun problema.
#29
Cita de: YreX-DwX en 16 Noviembre 2018, 23:05 PM
Antes de la explicación me gustaría saber si estos códigos llegáis a ejecutarlos o simplemente los veis escritos pero no los compiláis. Porque después de ver este y tus otros códigos me quería asegurar de que ese código tal y como está ahí escrito es imposible que compile.

Si compila amigo.
#30
Programación C/C++ / Comentarios en este programa
16 Noviembre 2018, 22:37 PM
Buenas tardes , espero me puedan ayudar con los comentarios de este programa para entender mejor su funcionamiento muchas gracias el programa sirve para calcular el  maximo comun divisor y el minimo comun multiplo gracias , los comentarios donde se especifican porfavor muchas gracias al que pueda.





                       

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

using namespace std;
int main()
{
int num1=0, num2=0, num3=0, i, j, z;
int div1;
float div2;
int base1[5], exp1[5];
int base2[5], exp2[5];
int base3[5], exp3[5];

int aux[13], expaux[13];

int mcm[13], expmcm[13];
int mcd[13], expmcd[13];

float aux1, aux2, aux3;

// COMENTARIO NRO 1

for (i = 0; i <= 4; i = i + 1)
{
  base1 = 0;
  base2 = 0;
  base3 = 0;
  exp1 = 0;
  exp2 = 0;
  exp3 = 0;
}

for (i = 0; i <= 12; i = i + 1)
{
  mcm = 0;
  expmcm = 0;
  mcd = 0;
  expmcd = 0;
  aux = 0;
  expaux = 0;
}


// COMENTARIO NRO 2

while (num1<1 || num1>1000)
{
  cout << "ingrese numero 1 = " ;
  cin >> num1;
  aux1 = num1;
}



while (num2<1 || num2>1000)
{
  cout << "ingrese numero 2 = " ;
  cin >> num2;
  aux2 = num2;
}



while (num3<1 || num3>1000)
{
  cout << "ingrese numero 3 = ";
  cin >> num3;
  aux3 = num3;
}



// COMENTARIO NRO 3

for (i = 2; i <= aux1; i = i + 1)
{
  div1 = aux1 / i;
  div2 = aux1 / i;

  if (div1 - div2 == 0)
  {
   aux1 = aux1 / i;
   j = 1;
   while (j <= 4)
   {
    if (base1[j] == i)
    {
     exp1[j] = exp1[j] + 1;
     j = 100;
    }


    if (base1[j] == 0)
    {
     base1[j] = i;
     exp1[j] = 1;
     j = 100;
    }
    j = j + 1;
   }

   i = 1;
  }

}



// COMENTARIO NRO 4


for (i = 2; i <= aux2; i = i + 1)
{
  div1 = aux2 / i;
  div2 = aux2 / i;

  if (div1 - div2 == 0)
  {
   aux2 = aux2 / i;
   j = 1;
   while (j <= 4)
   {
    if (base2[j] == i)
    {
     exp2[j] = exp2[j] + 1;
     j = 100;
    }


    if (base2[j] == 0)
    {
     base2[j] = i;
     exp2[j] = 1;
     j = 100;
    }
    j = j + 1;
   }

   i = 1;
  }

}


// COMENTARIO NRO 5

for (i = 2; i <= aux3; i = i + 1)
{
  div1 = aux3 / i;
  div2 = aux3 / i;

  if (div1 - div2 == 0)
  {
   aux3 = aux3 / i;
   j = 1;
   while (j <= 4)
   {
    if (base3[j] == i)
    {
     exp3[j] = exp3[j] + 1;
     j = 100;
    }


    if (base3[j] == 0)
    {
     base3[j] = i;
     exp3[j] = 1;
     j = 100;
    }
    j = j + 1;
   }

   i = 1;
  }

}

// COMENTARIO NRO 6

for (i = 1; i <= 4; i = i + 1)
{
  for (j = 1; j <= 4; j = j + 1)
  if (base1 == base2[j])
  {
   z = 1;
   while (mcd[z] != 0)
   {
    z = z + 1;
   }

   mcd[z] = base1;
   if (exp1 <= exp2[j])
   {
    expmcd[z] = exp1;
   }
   else
   {
    expmcd[z] = exp2[j];
   }
  }
}


// COMENTARIO NRO 7

for (i = 1; i <= 4; i = i + 1)
{
  for (j = 1; j <= 4; j = j + 1)
  if (base1 == base2[j])
  {
   z = 1;
   while (mcm[z] != 0)
   {
    z = z + 1;
   }

   mcm[z] = base1;
   if (exp1 >= exp2[j])
   {
    expmcm[z] = exp1;
   }
   else
   {
    expmcm[z] = exp2[j];
   }
  }

  if (base1 != base2[1] && base1 != base2[2] && base1 != base2[3] && base1 != base2[4])
  {
   z = 1;
   while (mcm[z] != 0)
   {
    z = z + 1;
   }
   mcm[z] = base1;
   expmcm[z] = exp1;
  }

  if (base2 != base1[1] && base2 != base1[2] && base2 != base1[3] && base2 != base1[4])
  {
   z = 1;
   while (mcm[z] != 0)
   {
    z = z + 1;
   }
   mcm[z] = base2;
   expmcm[z] = exp2;
  }
}


// COMENTARIO NRO 8

for (i = 0; i <= 12; i = i + 1)
{
  aux = mcd;
  expaux = expmcd;
  mcd = 0;
  expmcd = 0;
}

// COMENTARIO NRO 9


for (i = 1; i <= 4; i = i + 1)
{
  for (j = 1; j <= 12; j = j + 1)
  if (base3 == aux[j])
  {
   z = 1;
   while (mcd[z] != 0)
   {
    z = z + 1;
   }

   mcd[z] = base3;
   
   if (exp3 <= expaux[j])
   {
    expmcd[z] = exp3;
   }
   else
   {
    expmcd[z] = expaux[j];
   }
  }
}

// COMENTARIO NRO 10

for (i = 0; i <= 12; i = i + 1)
{
  aux = mcm;
  expaux = expmcm;
  mcm = 0;
  expmcm = 0;
}



// COMENTARIO NRO 11


for (i = 1; i <= 4; i = i + 1)
{
  for (j = 1; j <= 12; j = j + 1)
  if (base3 == aux[j])
  {
   z = 1;
   while (mcm[z] != 0)
   {
    z = z + 1;
   }

   mcm[z] = base3;
   if (exp3 >= expaux[j])
   {
    expmcm[z] = exp3;
   }
   else
   {
    expmcm[z] = expaux[j];
   }
  }

  if (base3 != aux[1] && base3 != aux[2] && base3 != aux[3] && base3 != aux[4] && base3 != aux[5] && base3 != aux[6] && base3 != aux[7] && base3 != aux[8])
  {
   z = 1;
   while (mcm[z] != 0)
   {
    z = z + 1;
   }
   mcm[z] = base3;
   expmcm[z] = exp3;
  }

  if (aux != base3[1] && aux != base3[2] && aux != base3[3] && aux != base3[4] && aux != base3[5] && aux != base3[6] && aux != base3[7] && aux != base3[8])
  {
   z = 1;
   while (mcm[z] != 0)
   {
    z = z + 1;
   }
   mcm[z] = aux;
   expmcm[z] = expaux;
  }
}


// COMENTARIO NRO 12

system("cls");
cout << num1 << " = " << base1[1] << "^" << exp1[ 1 ];
for (i = 2; i <= 4; i = i + 1)
{
  if (base1 != 0)
  {
   cout << " * " << base1 << "^" << exp1;
  }
}

cout << endl;

cout << num2 << " = " << base2[1] << "^" << exp2[1];
for (i = 2; i <= 4; i = i + 1)
{
  if (base2 != 0)
  {
   cout << " * " << base2 << "^" << exp2;
  }
}

cout << endl;

cout << num3 << " = " << base3[1] << "^" << exp3[1];
for (i = 2; i <= 4; i = i + 1)
{
  if (base3 != 0)
  {
   cout << " * " << base3 << "^" << exp3;
  }
}



// COMENTARIO NRO 13

cout << endl;


if (mcd[1] == 0)
{
  cout << "MCD (" << num1 << "," << num2 << "," << num3 << ")= 1";
}
else
{
  cout << "MCD (" << num1 << "," << num2 << "," << num3 << ")= " << mcd[1] << "^" << expmcd[1];
  for (i = 2; i <= 12; i = i + 1)
  {
   if (mcd != 0)
   {
    cout << " * " << mcd << "^" << expmcd;
   }
  }
}


// COMENTARIO NRO 14

cout << endl;

cout << "mcm (" << num1 << "," << num2 << "," << num3 << ")= " << mcm[1] << "^" << expmcm[1];
for (i = 2; i <= 12; i = i + 1)
{
  if (mcm != 0)
  {
   cout << " * " << mcm << "^" << expmcm;
  }
}


cout << endl;
getch();
return 0;

}