ايران ويج

نسخه‌ی کامل: تورو خدا اگه میتونید کمک کنید
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام من یه 2تا پروژه رو به شما میگم ببینید کدوم میتونید قشنگ برام توضیح بدید
(الان تو شرایط ناجور روحی هستم وگرنه یه کاریش می کردم )

1 - مربع جادویی با توضیح خط به خطش می خوام کامل کامل

2 - یه تعدادی نقطه در فضای دو بعدی باشه که با خط نقطه های بیرونی رو بهم وصل کنیم وو نقطه ای خارج از اون خط نباشه
و همراه با توضیح کامل باشه

به خدا مخم کار نمی کنه خواهش کمک کنید
یکی از این 2تا رو اگه میشه برام بفرستین خدا خیرتون بده
چرا تکالیفتون رو خودتون انجام نمیدین !!؟!!؟

اینو برات پیدا کردم. طبق معمول رو کامپایلرهای جدید مایکروسافت کار نمیکرد. یکم تغییرش دادم درست شد. یکم دیگه هم خودت تغییرش بده تا ظاهرش روبرا بشه . . . Biggrin

کد:
#include<conio.h>
#include<iostream>
#include<stdio.h>
using namespace std;
int a[100][100],n,x,y;

int findx(int x)
{
if (x==1) return n;
return x-1;
}

int findy(int y)
{
if (y==1) return n;
return y-1;
}

void calc(int a[100][100],int n,int x,int y)
{
for(int i=2;i<=n*n;i++){
if(a[findx(x)][findy(y)]==0){
x=findx(x);
y=findy(y);
a[x][y]=i;}
else
{
x++;
a[x][y]=i;
}}}
void main()
{

printf("Enter n:");
cin >> n;
while(n%2==0){

printf("enter n:");
cin >> n;}
for (int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
a[i][j]=0;
int y=n/2+1 , x=1;
a[x][y]=1;
calc(a,n,x,y);

printf("");
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)
printf("%4d",a[i][j]);
printf("");}
getch();
}

الان که اصلا وقت ندارم. ولی خیلی دلم می خواد خودم بشینم این مربع جادویی رو بنویسم.

از دومی هم هیچی نفهمیدم !
سلام
مرسی ولی می شه توضیحشم یه مقداری بدید

بازم معذرت میفتم اگه این و درست جواب ندم
عکس
اینم عکس دومی
سلام.

برای آگاهی از نحوه کار این مسئله می تونی این لینک که از ویکیپدیا گرفتم و یا مطلب زیر رو بخونی:


loyal نوشته است:یک مربع جادویی یا وفقی عبارت است از یک جدول n*n شامل اعداد 1 تا n^2 که در آن مجموع اعداد هر سطر هر ستون ،قطر اصلی و قطر فرعی برابر است(n عددی فرد است)

برنامه باید با دریافت عدد(که باید بین 1 تا 9 باشد) مربع جادویی به اندازه nرا نمایش دهد. مثلا برای n=3 خروجی باید به صورت زیر باشد:

6 1 8
7 5 3
2 9 4

الگوریتم این برنامه به شرح زیر است:
عدد 1 در عنصر میانی سطر اول قرار می گیرد

برای هر عدد بعدی باید نسبت به موقعیت فعلی یکی به سمت بالا و چپ حرکت کنیم و در صورت خارج شدن از محدوده ی جدول به انتهای همان ستون یا سطر بر می گردیم اگر این موقعیت خالی باشد عدد بعدی در آن درج می شود و اگر پر باشد دقیقا زیر عدد قبلی درج می شود.

(از آرایه ی 2 بعدی باید استفاده کنیم).


این برنامه رو خودم نوشتم. همین امروز نوشتمش. فکر کنم سه ساعت طول کشید. چون الگوریتمشو از همین مطلبی که نوشتم یاد گرفتم. مجبور شدم کل مسئله رو از اول یاد بگیرم تا بتونم بنویسمش.

کد php:
#include<conio.h>
#include<iostream.h>
#include<stdio.h>

main()
{
   
clrscr();
   
int n,i,j,r,x,y,a[16][16];
   
printf("Plaese Enter an Odd number (Max = 15): ");
   
scanf("%d",&n);
   while(
n%2==0||n>15)
   {
      
printf("Please enter another number (Odd) : ");
      
scanf("%d",&n);
   }
   for (
i=1;i<=n;i++)
      for(
j=1;j<=n;j++)
         
a[i][j]=0;
   
x=1y=n/2+1;
   
a[x][y]=1;
   for(
r=2;r<=n*n;r++)
   {
      
x--; y++;
      if (
x<1x+=n;
      if (
y>ny-=n;
      if (
a[x][y]==0)
     
a[x][y]=r;
      else
      {
         
x+=2;y-=1;
         if (
x>nx-=n;
         if (
y<1y+=n;
         
a[x][y]=r;
      }
   }
   
printf("\n");
   for(
i=1;i<=n;i++)
   {
      for(
j=1;j<=n;j++)
        
printf("%-4d",a[i][j]);
     
printf("\n");
   }
   
getch();

دستت درد نکنه خیلی بهتر از بالایی است قابل فهم تره مرسی

واقعا ممنووووووووووووووووون
سلام
برنامه های بالا با چه کامپایلری کار میکنن ، میشه یه خورده توضیح بدید ؟
کامپایلرش ++C. البته من برنامه رو با دستورات C نوشتم. ولی تفاوتی که با برنامه های نوشته شده با ++C داره فقط در دستورات ورودی و خروجی برنامه است.

مثل:
cin = scanf
cout = printf

این هم بخاطر اینه که من توی دانشگاه ++C نخوندم. به ما فقط C‌ یاد دادن. ++C رو رشته IT‌ و مهندسی کامپیوتر می خونن. با دستورات C بهتر می تونم کار کنم (البته بیشتر برای قالب بندی ظاهر برنامه). ولی ترکیب دستوراتشون هم کار رو خیلی خوب می کنه.
تو turbo باید کامپایل بشه ،

واسه کامپایل تو VC هم باید
کد php:
clrscr(); 
رو حذف کنید و بجای main بنویسید
کد php:
void main() 

Biggrin کی از من سوال کرد آخه !