[[RETO]] Funcion para ordenar, extraer e insertar en una pila

Iniciado por BlackDhampir, 26 Octubre 2021, 18:48 PM

0 Miembros y 1 Visitante están viendo este tema.

BlackDhampir

Dada la cadena de 12 dígitos 270463013589 ordénela de menor a mayor extrayendo los números que son iguales e insertándolos en una pila.

aca les dejo un inicio, una funcion para ordenar de menor a mayor:

Código (c++) [Seleccionar]

//Ordenamiento por Selección

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

using namespace std;

int main(){
int numeros[] = {2,7,0,4,6,3,0,1,3,5,8,9};
int i,j,aux,min;

//Algoritmo del Ordenamiento por Selección
for(i=0;i<12;i++){
min = i;
for(j=i+1;j<12;j++){
if(numeros[j] < numeros[min]){
min = j;
}
}
aux = numeros[i];
numeros[i] = numeros[min];
numeros[min] = aux;
}


cout<<"Orden Menor a Mayor: ";
for(i=0;i<12;i++){
cout<<numeros[i]<<" ";
}

return 0;
}



MOD: El código debe estar entre etiquetas de Código GeSHi

Eternal Idol

Cita de: BlackDhampir en 26 Octubre 2021, 18:48 PMDada la cadena de 12 dígitos 270463013589 ordénela de menor a mayor extrayendo los números que son iguales e insertándolos en una pila.

¿Esto es un reto o una tarea y/o ejercicio?
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

BlackDhampir

La verdad no se si es un ejercicio o tarea pero salio de mi mente eso si se lo puedo asegurar

MAFUS

Entiendo que
Citarextrayendo los números que son iguales e insertándolos en una pila
quiere decir que a la pila van los números repetidos.


Serapis

#5
Yo opino que se trata de una tarea, simple y llanamente, porque si es algo ideado por tí, entenderías lo que tú mismo has escrito...

En el enunciado, cuando dice:
Citarordénela de menor a mayor extrayendo los números que son iguales e insertándolos en una pila.
Puedo interpretar (sin más contexto) que te solicita que los ordenes usando pilas...

Por que, ordenar los números y luego meter en una pila los números repetidos, cabe preguntarse ¿para qué, cuál es su cometido una vez ordenado el array?.
Pudiera ser acaso, tener una lista ordenada sin elementos repetidos, pero para eso no hace falta usar para nada la pila (es complicarlo innecesariamente).
Dado que tú mismo, no sabes interpretar correctamente lo que dice, ni lo que implica, entiendo que es una tarea.

Por otro lado se habla de una cadena pero luego tu usas un array de enteros. ¿cómo se explica eso?.

Si simplemente tratas (como aisentes al responder a Mafus), que hay que pasar los numeros repes a una pila (no quedda claro aún si en ese caso deben descartarse del array), todo lo que tienes que hacer es recorrer el array desde el ítem 1 hasta el final, y ver si los siguientes siguen siendo del mismo valor que el señalado (el previo a este bucle), en cuyo caso copiarlo a la pila (el array sigue manteniendo el valor puesto que no se indica nada al respecto).


bucle para k desde 1 hasta 12
   j= (k-1)
   Hacer mientras (numeros(k) = numeros(j))
        pila.push(numero(k))
        k+= 1
        si (k>12) return
   repetir
siguiente

Ahí lo tienes, ahora si es una tarea, y resulta que lo que te piden es otra cosa, resultará que no lo has hecho, luego el suspenso está a la vuelta de la esquina... y como reclamar un 'cambio de perspectiva', cuando alegas que es un problema ideado por tí, y que la interpretación es la que has dicho que es????.
En mis tiempos se solía decir que se coje antes a un mentiroso que a un cojo.

BlackDhampir

#6
hola esta excelente tu aclaración, 1ero si mantengo que lo elabore yo porque esa es la realidad y verdad, 2do cada quien interpreta según su entendimiento, 3ero si es mas sencillo de la forma que lo explicas pero la idea es ordenar, extraer e insertar como dice el topic, puedes pensar lo que estimes estas en tu derecho, puse el reto acá para ver si mis alumnos llegaban a diferentes conclusiones por ejemp. a la que usted llego así puedo abarcar diferentes criterios de evaluación, la solución que doy es de un alumno que solo pudo llegar hasta allí, 4to esto es un foro y hasta donde se la opinión de todos cuenta, gracias por su colaboración la estimo mucho, no obstante me gustaría ver mas soluciones de ser posible, sl2.

Eternal Idol

Cita de: BlackDhampir en 27 Octubre 2021, 15:42 PM... puse el reto acá para ver si mis alumnos llegaban a diferentes conclusiones por ejemp. a la que usted llego así puedo abarcar diferentes criterios de evaluación, la solución que doy es de un alumno que solo pudo llegar hasta allí ...

Entonces si es una tarea  :rolleyes:
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

MAFUS

Hubo un mal entendido entonces.

La cosa es que en este foro nos cuidamos mucho de hacer tareas. Sí, resolvemos dudas y orientamos haciendo snippets o modificando el código de la gente que plantea sus dudas. Pero también hay quien viene pidiendo que se haga una tarea sin mostrar avance alguno o con un código que no muestra que ha intentado atacar el problema. Alguna vez se han lanzado estos retos para divertimento, aunque normalmente desde cuentas que ya llevan un buen tiempo aquí y se sabe que no piden solución a una tarea y se puede confiar que es eso, un juego.

Habría sido mejor acogido el mensaje inicial habiendo explicado lo de que es un ejercicio para tus alumnos, con un enunciado lo más claro posible, tal vez como el que expusiste a tus alumnos y tal vez dando tu solución (si no quieres directamente aquí) mediante un enlace externo como pastebin matando dos pájaros de un tiro (tal vez sería una buena opción si quieres realmente ver códigos de gente de por aquí):

1. Que los moderadores sepan que realmente se trata de un juego.
2. El que quiera participar no verá la solución hasta haber completado la suya.

Espero que no te hayas desanimado y verte más por aquí.

BlackDhampir

Me disculpo por las molestias, tienen razon y gracias por la guia no se volvera a repetir digame si seria mejor borrar el tema o dejarlo tal como esta o doy una de las soluciones que hice para que asi todos puedan verla sl2