Necesito Ayuda!! Lenguaje C

Estado
Cerrado para nuevas respuestas.

CUCA

Lanero Regular
30 Sep 2003
13
HOLA A TODOS, OS AGRADECERIA MUCHISIMO SI ME PUDIESEIS AYUDAR CON ESTO. NECESITO HACER UN PROGRAMA QUE GENERE CUADRADOS MAGICOS, EN LENGUAJE C. ES MUY URGENTE!!!!! DE AHI DEPENDE EL APROBAR EL CURSO!! Y ES QUE YO LO ESTOY INTENTANDO PERO ME PARECE MUY DIFICIL PARA EL NIVEL QUE TENEMOS, CREO QUE EL PROFE SE HA PASADO UN POQUITO, NO LE GUSTO MUCHO, JEJE.
BUENO, PUES ESO, OS COMENTO QUE UN CUADRADO MAGICO ES AQUEL QUE TODAS SUS COLUMNAS, FILAS Y DIAGONALES SUMAN LO MISMO, Y EL PROGRAMA TIENE QUE GENERARLOS.

POR FAVOR, ME URGE MUCHO, UN POQUITO DE AYUDA!!!!
(EN CODIGO FUENTE, LENGUAJE C POR FAVOR)

MUCHIIIIIIIIISISISIMAS GRACIAS!!!!
 
El algoritmo
Es 2 abajo, 3 a la izquerda y uno a la derecha, y si no hay nada Salta arriba. Pucha no me resulta lo intento con para que sume 15

Cuc.... mañana te lo mando lo haré en la noche ok,


Carlos......
 
Hey!, yo presente ese programa el semestre pasado pero no me acuerdo donde lo guarde (Creo que lo borré). Si lo encuentro te lo paso pero lo hice en C++, sirve???.
 
Creo que no entiendo a que te refieres como cuadrado magico, una matriz de valores ?? y si es asi de que tamaño?

si puedo te ayudo
 
¿Ah y lo quieres probadito y todo? ... aqui a veces se pasan de conchudos! .. no jodan !! ..
 
GRACIAS A TODOS, SI PODEIS MANDARMELO OS LO AGRADECERIA DE VERDAD, PORQUE ESTE PROFE ME VA A MATAR A DISGUSTOS.

GRACIASSSSSS!!!!!!!!!!!!!!

(SUPONGO Q SI ES EN C++ DA IGUAL, YA LO CAMBIARIA YO)
 
Texto Originalmente Escrito por CUCA
GRACIAS A TODOS, SI PODEIS MANDARMELO OS LO AGRADECERIA DE VERDAD, PORQUE ESTE PROFE ME VA A MATAR A DISGUSTOS.

GRACIASSSSSS!!!!!!!!!!!!!!

(SUPONGO Q SI ES EN C++ DA IGUAL, YA LO CAMBIARIA YO)

no sé porqué pero creo que el que mata a disgustos al profesor sos vos...
 
Ja ja ja el tipico que el profe se faja explicando y nada que entiende.

¡ Hay profe .. repita please ...
 
hombre pero que falta de confianza, mañana tempranito se lo mando, en c, c++, java, perl, python, listp, assembler y si alcanzo en cobol y prolog

haberlo dicho antes, pregunte no mas por todas las tareas aqui
 
y falto agragar en fortran, visual c#, VB, pascal..... jejeje

CUCA, por favor escribe en minusculas y realmente dudo mucho que te manden el programita hecho.... seria mejor que intentaras hacerlo y si hay problemas pues preguntas...

C.F.
 
Ah ay lo quieres con interface grafica Windows, WEB o MacOS ... ¿o te hago las tres por si las moscas?
 
Bueno, bueno, tampoco ahi que ponerse asi de ironicos, que yo solo pedia ayuda porque la necesito, que sepas que yo el programa ya lo tengo casi terminado, pero siempre me gusta comparar y asi poder añadir cosas que vosotros hayais puesto y que a mi se me hayan pasado, pero si tanto te molesta pues nada.

(De todas maneras no creo que haya hecho daño a nadie por pedir un programa, no? el que no me quiera ayudar que no lo haga y punto, si te molesta no lo haces y punto, no hace falta ridiculizar a nadie, opino yo, vamos)
 
No es que no queramos ayudar, lo unico es que es muy diferente si llegas dicendo "necesito un programa que haga esto y aquello" a si dices "estoy haciendo un programa que hace esto y tengo un problema tal, me pueden ayudar"

Pues cualquiera aqui estaria dispuesto a ayudar pero con problemas puntuales y no toda la tarea.

Bienvenido a Laneros :p

C.F.
 
Sí. Por favor no más hostilidad.
CUCA, como te dice cfranco, te invito a postear el código que ya llevas, y con gusto te daremos consejos.
Pero no pidas tareas completas, que no ha sido la política de este foro proveerlas.
 
Gracias por demostrar que todos no sois tan bordes, jeje, os paso lo que tengo, ok?

Código:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream.h>
void impares( int );	//funciones
void pares( int );


void main(  )
{
   int n; //Altura del lado
   cout<<"Introduce el lado del cuadrado magico: ";  //Pide q introduzcas la altura del lado
   cin>>n;  //Lee el dato introducido n
	if (n < 1 || n == 2) 		//No puede existir un cuadrado magico de menos de 1 fila de altura
   {                     		//ni de 2 ya que no cumplen el patron general de creacion de
					// cuadrados magicos
      printf( "Entrada no valida\n" );	//Por lo tanto compara n y si se da alguno de los casos anteriores
      getchar();			// imprime por pantalla "entrada no valida"
   }

   if ((n%2==1))   //Existen 2 metodos de creacion de cuadrados magicos dependiendo de que
      impares(n);  //la altura del cuadrado sea par o impar. Aqui se compara el dato n
   else            //para determinar si es par o impar y asi aplicar el metodo correpondiente.
      pares(n);

   printf( "\n\nLa suma de cada fila y columna es %8d\n\n", n*(n*n+1) >> 1 );
      getchar();  //Por ultimo se imprime por pantalla el resultado de la suma.
}


//Metodo impares

void impares( int N )
   {
   int i, j, N1, N3, t;

   N1 = (N-1)>>1;
   N3 = N1-1;

   for (i=1; i <= N; i++)   // Cada una de las filas
      {
      for (j=1; j <=N; j++)   //Cada una de las columnas
         {
         t = N1-i+j;

         if (t >= N)
         {
            t -= N;
         }
         else if (t < 0)
         {
         	 t += N;
         }
         printf( "%5d ", 1 + t + N * ((N3+i+j)%N) );// Calculo matematico
         }
      printf( "\n" ); //Salto de fila
      }
   }


// Metodo pares   

void pares( int n )
{
   int i, j, num = 1;
   int n1 = n-1, nn = n*n+1;
   int bloque1 = (n-2)>>2, bloque2 = n1 - bloque1;
   int dentro1 = n>>2, dentro2 = n1 - dentro1;   // >> actua sobre la estructura de bits del dato.

   for (j=0; j < n; j++)  // Cada una de las filas
   {
      for (i=0; i < n; i++)   //Cada una de las columnas
      {
         if (i >= dentro1 && i <= dentro2 && j >= dentro1 && j <= dentro2)
         {
            printf( "%5d ", num );
         }
         else if ((i > bloque1 && i < bloque2) || (j > bloque1 && j < bloque2))
         {
            printf( "%5d ", nn - num );
         }
         else
         {
            printf( "%5d ", num );
         }
      	num++;        // Calculo matematico
   	}
	   printf( "\n" );   // Salto de linea
	}
}

Funciona correctamente, pero la presentacion deberia de ser mas vistosa, y los metodos mas faciles, se os ocurre algo?
 
¿Ah lo quieres en CD o DVD? ¿con instalador multiplataforma o uno para cada sistema operativo?
 
bueno ya, acaba de mostrar el código así que ya deberías dejarlo en paz no? además que ya esta viejo
 
Estado
Cerrado para nuevas respuestas.

Los últimos temas