ali najafi
سه شنبه 28 دی 1389, 22:14 عصر
سلام.
من این کد رو نوشتم. :متفکر:
عملکردش اینه:
محتویات یک ماتریس 4*4 رو از ورودی میخونه و این کار هارو انجام میده:
1-MAZوMIN اون رو مینویسه(بزرگترین و کوچکترین عنصر)
2-دونه دونه عنصر های اون رو مقلوب میکنه و مینویسه.البته جدا مینویسه،منظورم اینه که این دو تا پایینی ها رو روی اون اولیه انجام میده.
3-جای سطر و ستون رو عوض میکنه(مثلا [1][2] میشه[2][1])
4-یک ماتریس 2*2 رو از ورودی میخونه و اگه تمام عنصر های اون بین ماتریس قبلی بود،TRUE یا FALSE میده.
این هم از کد:
#include <stdio.h>
#include <conio.h>
void MAX_MIN();
void MAGHLOOB();
void REPLACE();
void TRUE_FALSE();
void INPUT(int);
int m[3][3];
int mm[3][3];
int n[1][1];
void main()
{
printf("Welcome to this program.");
printf("Please enter a matris 4*4:");
INPUT(1);
MAX_MIN();
MAGHLOOB();
REPLACE();
TRUE_FALSE();
}
void MAX_MIN()
{
int b1=-32767,b2=32767,i;
for(i=0;i<=3;i++){
if(m[0][i] > b1)b1 = m[0][i];
};
i=0;
for(i=0;i<=3;i++){
if(m[0][i] > b1)b1 = m[1][i];
};
i=0;
for(i=0;i<=3;i++){
if(m[0][i] > b1)b1 = m[2][i];
};
i=0;
for(i=0;i<=3;i++){
if(m[0][i] > b1)b1 = m[3][i];
};
i=0;
for(i=0;i<=3;i++){
if(m[0][i] < b2)b2 = m[0][i];
};
i=0;
for(i=0;i<=3;i++){
if(m[0][i] < b2)b2 = m[1][i];
};
i=0;
for(i=0;i<=3;i++){
if(m[0][i] < b2)b2 = m[2][i];
};
i=0;
for(i=0;i<=3;i++){
if(m[0][i] < b2)b2 = m[3][i];
};
};
printf(" MAX = %d \n MIN = %d \n",b1,b2);
}
void MAGHLOOB()
{
int i,sh;
for(sh=0;sh<=3;sh++){
mm[0][sh]=m[0][sh];
};
sh=0;
for(sh=0;sh<=3;sh++){
mm[1][sh]=m[1][sh];
};
sh=0;
for(sh=0;sh<=3;sh++){
mm[2][sh]=m[2][sh];
};
sh=0;
for(sh=0;sh<=3;sh++){
mm[3][sh]=m[3][sh];
};
printf("\n");
for(i=0;i<=3;i++){
do{
mm[0][i]=m[0][i]%10;
printf("%d",mm[0][i]);
m[0][i]/=10;
}while(m[0][i]!=0);
};
i=0;
printf("\n");
for(i=0;i<=3;i++){
do{
mm[1][i]=m[1][i]%10;
printf("%d",mm[1][i]);
m[1][i]/=10;
}while(m[1][i]!=0);
};
i=0;
printf("\n");
for(i=0;i<=3;i++){
do{
mm[2][i]=m[2][i]%10;
printf("%d",mm[2][i]);
m[2][i]/=10;
}while(m[2][i]!=0);
};
i=0;
printf("\n");
for(i=0;i<=3;i++){
do{
mm[3][i]=m[3][i]%10;
printf("%d",mm[3][i]);
m[3][i]/=10;
}while(m[3][i]!=0);
};
}
void REPLACE()
{
int sh;
mm[0][0]=m[0][0];
mm[0][1]=m[1][0];
mm[0][2]=m[2][0];
mm[0][3]=m[3][0];
mm[1][0]=m[0][1];
mm[1][1]=m[1][1];
mm[1][2]=m[2][1];
mm[1][3]=m[3][1];
mm[2][0]=m[0][2];
mm[2][1]=m[1][2];
mm[2][2]=m[2][2];
mm[2][3]=m[3][2];
mm[3][0]=m[0][3];
mm[3][1]=m[1][3];
mm[3][2]=m[2][3];
mm[3][3]=m[3][3];
for(sh=0;sh<=3;sh++){
printf("%d",mm[0][sh]);
};
sh=0;
for(sh=0;sh<=3;sh++){
printf("%d",mm[1][sh]);
};
sh=0;
for(sh=0;sh<=3;sh++){
printf("%d",mm[2][sh]);
};
sh=0;
for(sh=0;sh<=3;sh++){
printf("%d",mm[3][sh]);
};
sh=0;
}
void TRUE_FALSE()
{
int b0=0,b1=0,b2=0,b3=0,i=0,n=0;
INPUT(2)
for(i=0;i <= 3;i++){
if(n[0][0] == m[0][i]){
b0=1;
break;
};
};
for(i=0;i<=3;i++){
if(n[0][1] == m[1][i]){
b1=1;
break;
};
};
for(i=0;i<=3;i++){
if(n[1][0] == m[2][i]){
b2=1;
break;
};
};
for(i=0;i<=3;i++){
if(n[1][1] == m[3][i]){
b3=1;
break;
};
};
if((b0==1)&&(b1==1)){
if((b2==1)&&(b3==1))n=1;
};
printf("\n");
if(n==1){
printf("TRUE");
}
else
{
printf("FALSE");
};
printf("\n \t\t\t\t\t Press any key to exit...");
}
void INPUT(int c)
{
int i;
if(c==2) goto D;
for(i=0;i<=3;i++){
scanf("%d",m[0][i]);
};
i=0;
for(i=0;i<=3;i++){
scanf("%d",m[1][i]);
};
i=0;
for(i=0;i<=3;i++){
scanf("%d",m[2][i]);
};
i=0;
for(i=0;i<=3;i++){
scanf("%d",m[3][i]);
};
};
D:
if(c==2){
scanf("%d",n[0][0];
scanf("%d",n[0][1];
scanf("%d",n[1][0];
scanf("%d",n[1][1];
};
};
}
11 تا ارور و 2 تا غلط داره.فکر کنم اکثر ارور هاش نوشتاری باشه.
اگه میشه،یک نگاهی بندازین.بعضی ارور هاش عجیبه! کم کم داره اعصابم رو خورد میکنه.:عصبانی++:
راستی یک چیزی یادم رفت:
من با این کار میکنم:
TURBO C++ IDE
زود تر یک نگاهی بندازین.قولش رو دادم. :ناراحت:
دستتون درد نکنه.
من این کد رو نوشتم. :متفکر:
عملکردش اینه:
محتویات یک ماتریس 4*4 رو از ورودی میخونه و این کار هارو انجام میده:
1-MAZوMIN اون رو مینویسه(بزرگترین و کوچکترین عنصر)
2-دونه دونه عنصر های اون رو مقلوب میکنه و مینویسه.البته جدا مینویسه،منظورم اینه که این دو تا پایینی ها رو روی اون اولیه انجام میده.
3-جای سطر و ستون رو عوض میکنه(مثلا [1][2] میشه[2][1])
4-یک ماتریس 2*2 رو از ورودی میخونه و اگه تمام عنصر های اون بین ماتریس قبلی بود،TRUE یا FALSE میده.
این هم از کد:
#include <stdio.h>
#include <conio.h>
void MAX_MIN();
void MAGHLOOB();
void REPLACE();
void TRUE_FALSE();
void INPUT(int);
int m[3][3];
int mm[3][3];
int n[1][1];
void main()
{
printf("Welcome to this program.");
printf("Please enter a matris 4*4:");
INPUT(1);
MAX_MIN();
MAGHLOOB();
REPLACE();
TRUE_FALSE();
}
void MAX_MIN()
{
int b1=-32767,b2=32767,i;
for(i=0;i<=3;i++){
if(m[0][i] > b1)b1 = m[0][i];
};
i=0;
for(i=0;i<=3;i++){
if(m[0][i] > b1)b1 = m[1][i];
};
i=0;
for(i=0;i<=3;i++){
if(m[0][i] > b1)b1 = m[2][i];
};
i=0;
for(i=0;i<=3;i++){
if(m[0][i] > b1)b1 = m[3][i];
};
i=0;
for(i=0;i<=3;i++){
if(m[0][i] < b2)b2 = m[0][i];
};
i=0;
for(i=0;i<=3;i++){
if(m[0][i] < b2)b2 = m[1][i];
};
i=0;
for(i=0;i<=3;i++){
if(m[0][i] < b2)b2 = m[2][i];
};
i=0;
for(i=0;i<=3;i++){
if(m[0][i] < b2)b2 = m[3][i];
};
};
printf(" MAX = %d \n MIN = %d \n",b1,b2);
}
void MAGHLOOB()
{
int i,sh;
for(sh=0;sh<=3;sh++){
mm[0][sh]=m[0][sh];
};
sh=0;
for(sh=0;sh<=3;sh++){
mm[1][sh]=m[1][sh];
};
sh=0;
for(sh=0;sh<=3;sh++){
mm[2][sh]=m[2][sh];
};
sh=0;
for(sh=0;sh<=3;sh++){
mm[3][sh]=m[3][sh];
};
printf("\n");
for(i=0;i<=3;i++){
do{
mm[0][i]=m[0][i]%10;
printf("%d",mm[0][i]);
m[0][i]/=10;
}while(m[0][i]!=0);
};
i=0;
printf("\n");
for(i=0;i<=3;i++){
do{
mm[1][i]=m[1][i]%10;
printf("%d",mm[1][i]);
m[1][i]/=10;
}while(m[1][i]!=0);
};
i=0;
printf("\n");
for(i=0;i<=3;i++){
do{
mm[2][i]=m[2][i]%10;
printf("%d",mm[2][i]);
m[2][i]/=10;
}while(m[2][i]!=0);
};
i=0;
printf("\n");
for(i=0;i<=3;i++){
do{
mm[3][i]=m[3][i]%10;
printf("%d",mm[3][i]);
m[3][i]/=10;
}while(m[3][i]!=0);
};
}
void REPLACE()
{
int sh;
mm[0][0]=m[0][0];
mm[0][1]=m[1][0];
mm[0][2]=m[2][0];
mm[0][3]=m[3][0];
mm[1][0]=m[0][1];
mm[1][1]=m[1][1];
mm[1][2]=m[2][1];
mm[1][3]=m[3][1];
mm[2][0]=m[0][2];
mm[2][1]=m[1][2];
mm[2][2]=m[2][2];
mm[2][3]=m[3][2];
mm[3][0]=m[0][3];
mm[3][1]=m[1][3];
mm[3][2]=m[2][3];
mm[3][3]=m[3][3];
for(sh=0;sh<=3;sh++){
printf("%d",mm[0][sh]);
};
sh=0;
for(sh=0;sh<=3;sh++){
printf("%d",mm[1][sh]);
};
sh=0;
for(sh=0;sh<=3;sh++){
printf("%d",mm[2][sh]);
};
sh=0;
for(sh=0;sh<=3;sh++){
printf("%d",mm[3][sh]);
};
sh=0;
}
void TRUE_FALSE()
{
int b0=0,b1=0,b2=0,b3=0,i=0,n=0;
INPUT(2)
for(i=0;i <= 3;i++){
if(n[0][0] == m[0][i]){
b0=1;
break;
};
};
for(i=0;i<=3;i++){
if(n[0][1] == m[1][i]){
b1=1;
break;
};
};
for(i=0;i<=3;i++){
if(n[1][0] == m[2][i]){
b2=1;
break;
};
};
for(i=0;i<=3;i++){
if(n[1][1] == m[3][i]){
b3=1;
break;
};
};
if((b0==1)&&(b1==1)){
if((b2==1)&&(b3==1))n=1;
};
printf("\n");
if(n==1){
printf("TRUE");
}
else
{
printf("FALSE");
};
printf("\n \t\t\t\t\t Press any key to exit...");
}
void INPUT(int c)
{
int i;
if(c==2) goto D;
for(i=0;i<=3;i++){
scanf("%d",m[0][i]);
};
i=0;
for(i=0;i<=3;i++){
scanf("%d",m[1][i]);
};
i=0;
for(i=0;i<=3;i++){
scanf("%d",m[2][i]);
};
i=0;
for(i=0;i<=3;i++){
scanf("%d",m[3][i]);
};
};
D:
if(c==2){
scanf("%d",n[0][0];
scanf("%d",n[0][1];
scanf("%d",n[1][0];
scanf("%d",n[1][1];
};
};
}
11 تا ارور و 2 تا غلط داره.فکر کنم اکثر ارور هاش نوشتاری باشه.
اگه میشه،یک نگاهی بندازین.بعضی ارور هاش عجیبه! کم کم داره اعصابم رو خورد میکنه.:عصبانی++:
راستی یک چیزی یادم رفت:
من با این کار میکنم:
TURBO C++ IDE
زود تر یک نگاهی بندازین.قولش رو دادم. :ناراحت:
دستتون درد نکنه.