elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  Ejercicio en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejercicio en C  (Leído 10,807 veces)
ߣ@î§

Desconectado Desconectado

Mensajes: 156


casi volando!!!


Ver Perfil
Ejercicio en C
« en: 17 Julio 2005, 18:53 pm »

Pos aca les va uno que estaba haciendo:
Crear un programa en C que despliegue el cuadro latino dado un numero "n".
Definición
Un cuadro latino es un arreglo de "n" símbolos en "n2" celdas arregladas en un cuadrado de  filas y  columnas, tal que todo símbolo aparece una sola vez en cada fila y en cada columna. El término "n" se conoce como el orden del cuadro latino.


Pos pa entenderlo mejor:
si n= 3 el cuadro quedaria asi:
                              1   2   3
                              3   1   2
                              2   3   1     
pa ponerle limites "n" debe ser mayor de 1 (obvio) y menor de 21 para que no salga tan grusea la matriz ;D ;D
en unos dias lo termino y lo posteo por aca, a ver si alguien lo termina antes.... ;)
Saludos  ;)


En línea

:D >:( ::) :-( ;D :huh: :-* :-X :rolleyes: :( :o :) :P :-\ ;) :-[ :xD :¬¬
Kpax


Desconectado Desconectado

Mensajes: 316



Ver Perfil
Re: Ejercicio en C
« Respuesta #1 en: 2 Septiembre 2005, 20:51 pm »

Esta en funcion de las diagonales :

para n
1)paso
    1
        1
            ...
                  1    ->n-esima posicion
2)paso
    1            2->obs arrancas por aca
    2  1
        2   ...
               2  1    ->n-esima posicion
 3)
                       °->arrancas de aca   
     1                3  2    ->obs arrancas por aca
     2  1                3
     3  2   ...
         3   ...
                 
                    3  2  1    ->n-esima posicion

Te das cuenta como colocarlos...de hehco que los pones en un arreglo.
Si deseas solo colocarlos...creo q puedes deducir la ley de formacion(no esta dificil eh)
ayuda:
   1 n n-1 n-2 .... 2
saludos


En línea

En este mundo una de dos
ߣ@î§

Desconectado Desconectado

Mensajes: 156


casi volando!!!


Ver Perfil
Re: Ejercicio en C
« Respuesta #2 en: 4 Septiembre 2005, 06:28 am »

jeje perdon me habia olvidado de este post.... y ya lo tenia listo hace unos dias  ;D

Citar
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
void main()
{
clrscr();
int c,x,y;
int a,a1,a2,a3;
int b[20][20]={0};
char respuesta[20];
char s='A';
while (s!='s' && s!='S')
      {
      textcolor(LIGHTGRAY);
gotoxy(2,2);cprintf("Introduzca un n£mero para crear el cuadrado latino");
gotoxy(2,3);cprintf("N£mero (2-19):");
fflush(stdin);
scanf("%[^\n]",respuesta);
a=atoi(respuesta);
a1=strlen(respuesta);
a2=0;
for (x=0;x<a1;x++)
    {
    for (y=48;y<=57;y++)
   {
              if (respuesta
  • ==char(y))
      a2++;
   }
    }
while ((a2!=a1) || (a>19 || a<=1) || respuesta[0]=='0')
      {
      gotoxy(2,5);cprintf("EL DATO INTRODUCIDO ES INCORRECTO");
      gotoxy(2,6);cprintf("EL DATO TIENE QUE SER UN NéMERO NATURAL MAYOR QUE 1 Y MENOR QUE 20");
      gotoxy(2,7);cprintf("PRESIONE ENTER");
      getch();
      clrscr();
      textcolor(LIGHTGRAY);
      gotoxy(2,2);cprintf("Introduzca un n£mero para crear el cuadrado latino");
      gotoxy(2,3);cprintf("N£mero (2-19):");
      fflush(stdin);
scanf("%[^\n]",respuesta);
a=atoi(respuesta);
a1=strlen(respuesta);
a2=0;
for (x=0;x<a1;x++)
    {
    for (y=48;y<=57;y++)
   {
            if (respuesta
  • ==char(y))
      a2++;
   }
    }
      }
int z=2;
for(x=0;x<a;x++)
   {
   z--;
   for(y=0;y<a;y++)
      {
      if (z>a)
    z=1;
      b
  • [y]=z;
      z++;
      }
   }
c=a*4/2;
int d=a/2;
clrscr();
textcolor(GREEN);
gotoxy(24,10-d);
cprintf("   CUADRADO LATINO DE ORDEN \"n\"");
gotoxy(24,11-d);
cprintf("               n = %d ",a);
for(x=0;x<a;x++)
   {
   textcolor(LIGHTRED);
   if (x==0)
       {
       gotoxy(40-c,12-d+x);
       cprintf("Ú");
       }
   if (x==a-1)
       {
       gotoxy(40-c,14-d+x);
       cprintf("À");
       }
       gotoxy(40-c,13-d+x);
       cprintf("³");
   for( y=0;y<a;y++)
      {
      textcolor(LIGHTBLUE);
      cprintf("%3d ",b
  • [y]);
      }
      textcolor(LIGHTRED);
      cprintf(" ³");
   if (x==0)
       {
       gotoxy(40+c,12-d+x);
       cprintf("  ¿");
       }
   if (x==a-1)
       {
       gotoxy(40+c,14-d+x);
       cprintf("  Ù");
       }
   }
   textcolor(YELLOW);
   gotoxy(3,24);
   cprintf("CONTINUAR = ENTER                                                 SALIDA = S");
   s=getch();
   textcolor(LIGHTGRAY);
   clrscr();
   }
}

Solo era de "cruzar bucles".. ;)
« Última modificación: 4 Septiembre 2005, 06:30 am por iblis_sm » En línea

:D >:( ::) :-( ;D :huh: :-* :-X :rolleyes: :( :o :) :P :-\ ;) :-[ :xD :¬¬
ߣ@î§

Desconectado Desconectado

Mensajes: 156


casi volando!!!


Ver Perfil
Re: Ejercicio en C
« Respuesta #3 en: 4 Septiembre 2005, 06:31 am »

joer!! no sale este caracter
  • ... (los corchetes) :( ???
En línea

:D >:( ::) :-( ;D :huh: :-* :-X :rolleyes: :( :o :) :P :-\ ;) :-[ :xD :¬¬
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Solución ejercicio C 107
Ejercicios
mauriciodelos 8 8,754 Último mensaje 18 Marzo 2011, 05:05 am
por mauriciodelos
ejercicio archivo.txt
Ejercicios
darive88 2 6,291 Último mensaje 27 Mayo 2011, 05:14 am
por darive88
Ejercicio en c++
Ejercicios
civans89 4 9,699 Último mensaje 19 Julio 2011, 20:16 pm
por madpitbull_99
una ayudita con un ejercicio
Ejercicios
Swaner 4 5,707 Último mensaje 29 Noviembre 2011, 00:26 am
por Swaner
Ejercicio en C...
Programación C/C++
SonaArtica 6 3,565 Último mensaje 4 Agosto 2012, 14:20 pm
por avesudra
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines