Ayuda programación

¡Hola!

Tengo una duda, a ver si algún entendido en programación (yo no sé, no soy 100tifiko), puede echarme una mano para hacer un mini programa que consistiría en lo siguiente:

Hacer un cuadrante en una cuadrícula de 5x5 en el que en cada celda habría que meter 3 nombres evitando que se repita un nombre en la misma fila y columna (vaya, como si fuera un sudoku pero poniendo en cada cuadro 3 nombres en vez de uno).

Creo que me he liado más de lo necesario para explicar la idea (y espero que se me haya entendido).

¿Alguien podría echarme una zarpa con eso?

Jrasias de hantevraso
Hola,

Lo que dices se puede hacer perfectamente

Espero haberte ayudado.

Un saludo
carlosniper escribió:Lo que dices se puede hacer perfectamente pero no vamos a hacer tu deberes

FIXED.

Ni dice el lenguaje, ni librerías/motor disponibles... nos ha colado un enunciado de deberes de primer año y se ha quedado tan tranquilo el tío [qmparto]
Yo cuando estudiaba y tenia dudas, revisaba los apuntes y le preguntaba a los compañeros. Me sirvió de mucho.
exitfor escribió:
carlosniper escribió:Lo que dices se puede hacer perfectamente pero no vamos a hacer tu deberes

FIXED.

Ni dice el lenguaje, ni librerías/motor disponibles... nos ha colado un enunciado de deberes de primer año y se ha quedado tan tranquilo el tío [qmparto]

Vamos, es que ni queda claro el enunciado.

¿Metes tú los nombres en las celdas y la máquina comprueba si es correcto o no?
¿Hay una batería de nombres y la máquina debe colocarlos?
¿Se introducen los nombres a mano y la máquina los coloca?
Yo programo por dinero. Ahí te lo dejo, si quieres que te haga la tarea del cole tendrás que pagar [burla2]
En vez de decir gilipolleces que no van a poder servir para nada podríais ayudar al pobre chaval o callaros, pienso yo.

Para resolver tu ejercicio lo único que tienes que hacer es un cuadrante en una cuadrícula de 5x5 en el que en cada celda habría que meter 3 nombres evitando que se repita un nombre en la misma fila y columna (vaya, como si fuera un sudoku pero poniendo en cada cuadro 3 nombres en vez de uno).
espero haberte ayudado
Sois unos degenerados.

Hay que fomentar que los chavales se interesen en la programación, que luego acaban por ahí de cajeros en los supermercados.

Venga, ya te ayudo yo. Como no has dicho nada te lo he hecho en E, ya me dirás si te sirve:

#include <stdio.h>
#define e "e"
#define ee int
#define eee main
#define eeee (
#define eeeee )
#define eeeeee {
#define eeeeeee }
#define eeeeeeee for
#define eeeeeeeee ;
#define eeeeeeeeee printf
#define eeeeeeeeeee return
#define eeeeeeeeeeee on_exit
#define eeeeeeeeeeeee [
#define eeeeeeeeeeeeee ]
#define eeeeeeeeeeeeeee 0

ee eee eeee eeeee eeeeee eeeeeeee eeee eeeeeeeee
eeeeeeeee eeeee eeeeee eeeeeeeeee eeee e eeeee
eeeeeeeee eeeeeee eeeeeee ee eeeeeeeeeeee eeee
eeeee eeeeee eeeeeeeeeee e eeeeeeeeeeeee
eeeeeeeeeeeeeee eeeeeeeeeeeeee eeeeeeeee eeeeeee


Un saludo.
Nagaroth escribió:Sois unos degenerados.

Hay que fomentar que los chavales se interesen en la programación, que luego acaban por ahí de cajeros en los supermercados.

Venga, ya te ayudo yo. Como no has dicho nada te lo he hecho en E, ya me dirás si te sirve:

#include <stdio.h>
#define e "e"
#define ee int
#define eee main
#define eeee (
#define eeeee )
#define eeeeee {
#define eeeeeee }
#define eeeeeeee for
#define eeeeeeeee ;
#define eeeeeeeeee printf
#define eeeeeeeeeee return
#define eeeeeeeeeeee on_exit
#define eeeeeeeeeeeee [
#define eeeeeeeeeeeeee ]
#define eeeeeeeeeeeeeee 0

ee eee eeee eeeee eeeeee eeeeeeee eeee eeeeeeeee
eeeeeeeee eeeee eeeeee eeeeeeeeee eeee e eeeee
eeeeeeeee eeeeeee eeeeeee ee eeeeeeeeeeee eeee
eeeee eeeeee eeeeeeeeeee e eeeeeeeeeeeee
eeeeeeeeeeeeeee eeeeeeeeeeeeee eeeeeeeee eeeeeee


Un saludo.


Jajaja, madre mía este y el de @sexto, los mejores
Nagaroth escribió:Sois unos degenerados.

Hay que fomentar que los chavales se interesen en la programación, que luego acaban por ahí de cajeros en los supermercados.

Venga, ya te ayudo yo. Como no has dicho nada te lo he hecho en E, ya me dirás si te sirve:

#include <stdio.h>
#define e "e"
#define ee int
#define eee main
#define eeee (
#define eeeee )
#define eeeeee {
#define eeeeeee }
#define eeeeeeee for
#define eeeeeeeee ;
#define eeeeeeeeee printf
#define eeeeeeeeeee return
#define eeeeeeeeeeee on_exit
#define eeeeeeeeeeeee [
#define eeeeeeeeeeeeee ]
#define eeeeeeeeeeeeeee 0

ee eee eeee eeeee eeeeee eeeeeeee eeee eeeeeeeee
eeeeeeeee eeeee eeeeee eeeeeeeeee eeee e eeeee
eeeeeeeee eeeeeee eeeeeee ee eeeeeeeeeeee eeee
eeeee eeeeee eeeeeeeeeee e eeeeeeeeeeeee
eeeeeeeeeeeeeee eeeeeeeeeeeeee eeeeeeeee eeeeeee


Un saludo.

Pues algunas de cajeras en supermercados acaban de ministras
Lotush escribió:
Nagaroth escribió:Sois unos degenerados.

Hay que fomentar que los chavales se interesen en la programación, que luego acaban por ahí de cajeros en los supermercados.

Venga, ya te ayudo yo. Como no has dicho nada te lo he hecho en E, ya me dirás si te sirve:

#include <stdio.h>
#define e "e"
#define ee int
#define eee main
#define eeee (
#define eeeee )
#define eeeeee {
#define eeeeeee }
#define eeeeeeee for
#define eeeeeeeee ;
#define eeeeeeeeee printf
#define eeeeeeeeeee return
#define eeeeeeeeeeee on_exit
#define eeeeeeeeeeeee [
#define eeeeeeeeeeeeee ]
#define eeeeeeeeeeeeeee 0

ee eee eeee eeeee eeeeee eeeeeeee eeee eeeeeeeee
eeeeeeeee eeeee eeeeee eeeeeeeeee eeee e eeeee
eeeeeeeee eeeeeee eeeeeee ee eeeeeeeeeeee eeee
eeeee eeeeee eeeeeeeeeee e eeeeeeeeeeeee
eeeeeeeeeeeeeee eeeeeeeeeeeeee eeeeeeeee eeeeeee


Un saludo.

Pues algunas de cajeras en supermercados acaban de ministras


Y otras muchas acabarán en la cola del paro cuando las reemplacen por máquinas, como ya está sucediendo ¯\_(ツ)_/¯

Aclarar que no pretendía ser un ataque a la profesión, al igual que todas las demás profesiones para mí tienen todo el respeto del mundo, pero son trabajos no cualificados que van a terminar desapareciendo y esa era la intención de mi mensaje (que ya de por sí no pretendía tener un tono serio, todo sea dicho de paso).
@Nagaroth he convertido mas o menos tu solución a ASM, es mas eficiente por lo que le pondrán mejor nota, espero que no te importe.

        SECTION .data
msg:    db "e", 0
fmt:    db "%s", 10, 0

        SECTION .text
        extern printf
        global main, _start
main:
_start:
for:    mov esi, msg   
        mov edi, fmt   
        mov eax, 0     
        call printf
   jmp for

        mov ebx, 0
        mov eax, 1 
        int 0x80   
Thalandor escribió:@Nagaroth he convertido mas o menos tu solución a ASM, es mas eficiente por lo que le pondrán mejor nota, espero que no te importe.


@Thalandor, he cogido tu implementación del código de @Nagaroth y la he traducido a Brainfuck. Asi el OP tendrá un código más ofuscado y podrá estar segurísimo de que nadie se va a copiar. Entre tu optimización y esto, seguro que le ponen un sobresaliente [oki]



++++[->++++++++<]>........>-[--->+<]>--.[->+++++++<]>.--.>-[--->+<]>-.-----------.++++++.-.++[----->++<]>.[-->+++<]>--.--[--->+
<]>.---.--[--->+<]>-.+[->+++<]>++.>++++++++++.+[----->+++<]>.++++++.------------.+[->+++<]>++.[-->+<]>+++....+[->+++<]>+.--.-
-[->+++<]>.++.[->+++<]>-.+[--->+<]>.++++++++++.------------.[-->+++<]>.>++++++++++.[--->+++++<]>.+++++++.+++++++.[-->+
<]>.[-->+<]>+++....+[->+++<]>+.--.--[->+++<]>.++.+++.+[->+++<]>+.+[-->+++++<]>.++++++++++.------------.[-->+++<]>+.-.----.----
--------.[-->+++<]>.>++++++++++..[->+++<]>++........>-[--->+<]>--.[->+++++++<]>.--.>-[--->+<]>-.-----------.++++++.-.++[----->++
<]>.[-->+++<]>--.[--->++<]>.+++[->+++<]>.[--->+<]>+.----.>++++++++++.[->+++<]>++........+[->+++<]>++.[--->+<]>+.----.+++[-
>+++<]>.+++++++++++++.----.-[->+++++<]>-.[-->+++++++<]>.++.---------.+++++.++++++.+++[->+++<]>+.>++++++++++.[->+++
<]>++........++[->+++<]>+.+++++.+++.-------------.-.+++++++++++.[++>---<]>--.+[----->+<]>.------------.++++++++.+++++.[----->++
<]>.------------.[->+++<]>-.[--->+<]>--.+.+[->+++<]>++.--[--->+<]>---.++.>++++++++++.+[----->+++<]>.-----------
-.++++++++.+++++.[-->+<]>+++.>++++++++++.[--->++<]>+++.[--->+<]>--.+.+[->+++<]>++.--[--->+<]>---.++.[-->+
<]>.>++++++++++.[--->+++++<]>.+++++++++.+++.[-->+<]>+.[-->+<]>+++....+[----->+<]>.++.+++++++.++[---->+<]>++.+[->+++
<]>++.[--->+<]>----.----------.[----->++<]>++.------------.+[----->+<]>.++++++.------------.-[--->+<]>--...>++++++++++.[->+++
<]>++........+[----->+<]>.++.+++++++.++[---->+<]>++.+[->+++<]>++.-.+++++.[----->++<]>++.------------.++[->+++
<]>.+++++++.+++++++.[---->+<]>+++...>++++++++++.[->+++<]>++........+[----->+<]>.++.+++++++.++[---->+<]>++.+[->+++<]>++.-
---.+[--->+<]>++.[-->+++++<]>.------------.[-->+++<]>.[--->++<]>.....>++++++++++.[->+++<]>++........+[->+++<]>.--.+++++++++++..
[++>---<]>--.[-->+++++++<]>.++.---------.+++++.++++++.+++[->+++<]>+.>++++++++++.[->+++<]>++...-[--->++<]>.+++.+++.[------
->++<]>.++[->+++<]>.+++++++++.+++.>++++++++++..[->+++<]>++........+[----->+<]>.++.+++++++.++[---->+<]>++.+[->+++<]>++.-
--.[--->+<]>++.[-->+++++<]>.------------.[-->+++<]>.>++++++++++.[->+++<]>++........+[----->+<]>.++.+++++++.++[---->+<]>++.+[-
>+++<]>++.----.+[--->+<]>++.[-->+++++<]>.------------.[-->+++<]>+.-[--->++<]>.>++++++++++.[->+++<]>++........-[--->++
<]>-.+++++.++++++.[---->+<]>+++.[-->+++<]>.[-->+++++<]>.[-->+<]>----.--------.[--->++<]>...


PS: Es que ensamblador es muy mainstream ...
Utilizando programación orientada a objetos se me ocurre lo siguiente, una clase celda con 3 atributos (nombre1,nombre2 y nombre3), el cuadrante estaría representado mediante una matriz 5x5 estática de tipo celda y dos contadores estaticos (uno para las filas y otro para las columnas). En el constructor de la celda, se almacenaría en la matriz la nueva celda creada, y se controlaría tanto los contadores como la comprobación de que que no se repiten los nombres.
Igual el de este video te puede ayudar

17 respuestas