-
پنج شنبه 26 آذر 1388, 18:10 عصر
#1
کاربر جدید
آگاهی و کمک برای همه
کسی میتونه اعداد رو به صورت دستی ندید اعدادی که زیر با قرمز مشخص میکنم ممنون
برنامه ای بنویسید ماتریس زیر (عکس) را چاپ کرده سپس 3 عدد a , b , c را بگیرد. سپس حلقه ی اول .(a) خانه به صورت ساعتگر بچرخاند . حلقه ی دوم را(b) و خانه پادساعتگر بچرخد و حلقه ی سوم (C) خانه ساعتگر بچرخد.
به شکل زیر :
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <dos.h>
//-------------------------------------
int MoveMap [6*6];
int FindMoveMap(int level)
{
int row=level, col=level;
int way[]={ 1, 0, 0, 1, -1, 0, 0, -1};
int c=0;
for( int i=0; i<4; i++ )
for( int j=level; j<(6-level-1); j++ )
{
MoveMap[C++] = row*6+col;
col += way[i*2+0];
row += way[i*2+1];
}
return c;
}
//-------------------------------------
void ChnageMatrix (int *movemap, int count, int *matrix)
{
int tmp, CurIndex, PrevIndex;
CurIndex = movemap[count-1];
tmp = matrix[CurIndex];
for(int j=count-1; j>0; j-- ){
CurIndex = movemap[ j ];
PrevIndex = movemap[ j-1 ];
matrix [ CurIndex ] = matrix [ PrevIndex ];
}
CurIndex = movemap[0];
matrix [CurIndex] = tmp;
}
//-------------------------------------
void Put2Screen(int x, int y, char *str, int *matrix)
{
gotoxy(x, y);
cout<<str;
for( int j=0; j<6; j++){
gotoxy(x, y+j+1);
for( int i=0; i<6; i++)
cout<<" "<<matrix[j*6+i];
}
}
//-------------------------------------
int main()
{
int Matrix [6*6] ={
1, 3, 4, 5, 7, 6,
3, 1, 2, 5, 1, 9,
5, 1, 4, 2, 3, 7,
8, 2, 4, 9, 1, 6,
2, 9, 3, 5, 7, 9,
1, 3, 9, 8, 7, 6
};
int count, x=10, y=10, RotateCount[3];
clrscr();
cout<<"\n tdkhakpur..";
cout<<"\nenter a >"; cin>>RotateCount[0];
cout<<"\nenter b >"; cin>>RotateCount[1];
cout<<"\nenter c >"; cin>>RotateCount[2];
// put befor changed matrix in screen
Put2Screen(x, y, "befor change..", Matrix );
for( int i=0; i<(6/2+6%2); i++ )
for( int j=0; j<RotateCount[i]; j++ )
{
count = FindMoveMap(i) ;
if( count>0 )
ChnageMatrix (MoveMap, count, Matrix );
delay(1000);
Put2Screen(x+30, y, "changed matrix..", Matrix );
}
cout<<"\n";
return 0;
}
-
پنج شنبه 26 آذر 1388, 22:44 عصر
#2
کاربر دائمی
نقل قول: آگاهی و کمک برای همه
سلام چه برنامه باحالي؟
خصوصا براي من كه تو ارايه ها مشكل دارم
دوست دارم يادش بگيرم
كسي ميتونه اين برنامه رو با cبنويسه؟منcppبلد نيستم
قوانین ایجاد تاپیک در تالار
- شما نمی توانید تاپیک جدید ایجاد کنید
- شما نمی توانید به تاپیک ها پاسخ دهید
- شما نمی توانید ضمیمه ارسال کنید
- شما نمی توانید پاسخ هایتان را ویرایش کنید
-
قوانین سایت