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 - ferchundo9

#11
Hola, como parte dun programa que estoy haciendo necesitaria una función que dados dos numeros cualesquiera diese el menor numero potencia de dos que fuera mayor que los dos numeros. Si alguien me pudiese dar una idea de como hacerlo, se lo agradecería
#12
Mira lo que me descoloca de verdad es "elem" no se que valores tiene ni cual es su función en todo momento.
#13
Lo contenido en for() si me pudieras y diciendo que se hace en cada linea de código me ayudaría mucho.
#14
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void permutaciones(char *conjunto, size_t card, size_t elem);

int main(void)
{
   char conjunto[] = "cat";
   size_t card = sizeof conjunto - 1;
   
   permutaciones(conjunto, card, 0);
   
   return EXIT_SUCCESS;
}

void permutaciones(char *conjunto, size_t card, size_t elem)
{
   if (card > 1){
      int i;
     
      permutaciones(conjunto, card - 1, elem + 1);
     
      for (i = 1; i < card; i++){
         char temp;
         
         temp = conjunto[elem + i];
         memmove(conjunto + elem + 1, conjunto + elem, i);
         conjunto[elem] = temp;
         
         permutaciones(conjunto, card - 1, elem + 1);
         
         memmove(conjunto + elem, conjunto + elem + 1, i);
         conjunto[elem + i] = temp;
      }
   }else
      puts(conjunto);
}

Soy nueve en esto de la programación y me pasaron este código y hay muchos elementos que no entiendo, necesito que me echeis un cable.