PDA

View Full Version : آگاهی و کمک برای همه



poorya.coolboy
پنج شنبه 26 آذر 1388, 18:10 عصر
کسی میتونه اعداد رو به صورت دستی ندید اعدادی که زیر با قرمز مشخص میکنم ممنون
برنامه ای بنویسید ماتریس زیر (عکس) را چاپ کرده سپس 3 عدد a , b , c را بگیرد. سپس حلقه ی اول .(a) خانه به صورت ساعتگر بچرخاند . حلقه ی دوم را(b) و خانه پادساعتگر بچرخد و حلقه ی سوم (C) خانه ساعتگر بچرخد.
به شکل زیر :

http://img4.tinypic.info/files/cmc6ww6ksew57r3a8aex.jpg

#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 عصر
سلام چه برنامه باحالي؟
خصوصا براي من كه تو ارايه ها مشكل دارم
دوست دارم يادش بگيرم
كسي ميتونه اين برنامه رو با cبنويسه؟منcppبلد نيستم