نقل قول:
نه . فکر کنم تخصیص حافظه پویا برای آرایه دوبعدی این طوری بود :
کد:int** arr = new int*[ x ];
for( int i = 0; i < x; i++ )
arr[ i ] = new int[ y ];
متوجه نشدم ...نقل قول:
Printable View
نقل قول:
نه . فکر کنم تخصیص حافظه پویا برای آرایه دوبعدی این طوری بود :
کد:int** arr = new int*[ x ];
for( int i = 0; i < x; i++ )
arr[ i ] = new int[ y ];
متوجه نشدم ...نقل قول:
منظورم این بود که این کد تو ++Visual C کار نمیکنهنقل قول:
نوشته شده توسط sin2x=2sinxcosx
کد:int N, M;
cin >> N >> M;
char Matrix[N][M];
نقل قول:
چه لزومي داره از اين استفاده كرد ؟
كارش چيه ؟
نقل قول:
عجیبه !!!!!!!!!!!!! خیلیییییییییی عجیبه !!!!!!!!!!!
با این حساب هیچی . اون پست منو نادیده بگیرین . لازم شد یه تحقیقاتی بکنم .نقل قول:
اینم یه سوال قشنگ .
میگم بهتر نیست هرکی مسئله ای رو حل می کنه سورسشو هم بذاره ؟
با تشکر .
کد:http://acm.pku.edu.cn/JudgeOnline/problem?id=1002
این سورس مساله قبلی من، حالا بریم سره یوال قشنگه
کد:#include <iostream>
#include <string.h>
using namespace std;
int main()
{
int N, M;
cin >> N >> M;
char Matrix[N][M];
memset(&Matrix, 0, sizeof(Matrix));
int i = 0, j = 0;
char ch = 'A';
int flag = true;
while ( flag )
{
// flag = false;
// TOP
while ( Matrix[i][j] == 0 && j < M )
{
if ( ch <= 'Z' )
{
Matrix[i][j] = ch;
j++;
ch++;
}
else
{
ch ='A';
}
//flag = true;
}
j--;
i++;
//flag = false;
//LEFT
while ( Matrix[i][j] == 0 && i < N )
{
if ( ch <= 'Z' )
{
Matrix[i][j] = ch;
i++;
ch++;
}
else
{
ch ='A';
}
//flag = true;
}
i--;
j--;
//flag = false;
// BOTTOM
while ( Matrix[i][j] == 0 && j >= 0 )
{
if ( ch <= 'Z' )
{
Matrix[i][j] = ch;
j--;
ch++;
}
else
{
ch ='A';
}
//flag = true;
}
j++;
i--;
flag = false;
// RIGHT
while ( Matrix[i][j] == 0 && i >= 0 )
{
if ( ch <= 'Z' )
{
Matrix[i][j] = ch;
i--;
ch++;
}
else
{
ch ='A';
}
flag = true;
}
i++;
j++;
}
for ( int x = 0; x < N; x++ )
{
for ( int y = 0; y < M; y++ )
cout << " " << Matrix[x][y];
cout << endl;
}
return 0;
}
ببخشید . دارم به بقیه میگم سورس بذارین در حالی که خودم نذاشتم . این هم سورس من :
کد:#include <iostream>
#include <vector>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
vector< vector< char > > vec( a );
for( int i = 0;i < a; i++ )
vec[ i ].resize( b );
vector< char > chars( 26 );
for( int i = 0; i < 26; i++ )
chars[ i ] = 65 + i;
int counter = 0, countifirst = 0, countilast = a - 1, countjfirst = 0, countjlast = b - 1;
int flag;
while( true )
{
flag = 0;
for( int i = countjfirst; i <= countjlast; i++ )
{
flag = 1;
vec[ countifirst ].at( i ) = chars[ counter % 26 ];
counter++;
}
if( flag == 0 )
break;
flag = 0;
countifirst++;
for( int j = countifirst; j <= countilast; j++ )
{
flag = 1;
vec[ j ].at( countjlast ) = chars[ counter % 26 ];
counter++;
}
if( flag == 0 )
break;
flag = 0;
countjlast--;
for( int k = countjlast; k >= countjfirst; k-- )
{
flag = 1;
vec[ countilast ].at( k ) = chars[ counter % 26 ];
counter++;
}
if( flag == 0 )
break;
flag = 0;
countilast--;
for( int l = countilast; l >= countifirst; l-- )
{
flag = 1;
vec[ l ].at( countjfirst ) = chars[ counter % 26 ];
counter++;
}
if( flag == 0 )
break;
flag = 0;
countjfirst++;
}
for( int i = 0; i < a; i++ )
{
for( int j = 0; j < b; j++ )
{
cout << " ";
cout << vec[ i ].at( j );
}
cout << endl;
}
return 0;
}
جهت زيرخاكي نشدن تاپيك:نقل قول:
اين فايل اجرايي برنامه ي منه واسه اين مسئله و هيچ مشكلي توش نميبينم اما پيغام Wrong Answer ميده ديوانم كرده
ميشه يكي امتحانش كنه؟
کد:http://www.uplod.ir/download.php?file=89264
:31:نقل قول:
خب آخه باید به ترتیب چاپ می کردین .
اي بابا من اينو 11 بار submit كردم :دي
مرسي