[ garfild112233 @ 12.06.2006. 17:09 ] @

Data je reč sastavljena od neparnog broja slova. Formirati kvadratnu matricu u kojoj će se na mestima elemenata srednje vrste i srednje kolone da nalaze slova date reči, a na svim ostalim njenim mestima razmak.
[ Marko Medojević @ 12.06.2006. 22:28 ] @
Mislim da bi trebalo da bude ovako:


Code:

#include <iostream>

using namespace::std;

int _tmain(int argc, _TCHAR* argv[])
{
    int n, i, j;
    char mat[50][50];
    char rec[50];
    cout<<"Unesi stepen matrice: ";
    cin>>n;
    cout<<"Unesi rec od "<<2*n-1<<" slova: ";
    cin>>rec;
    for(i=0;i<n;i++) for(j=0;j<n;j++) mat[i][j]=' ';
    for(i=0;i<n;i++) mat[n/2][i] = rec[i];
    for(i=0;i<n/2;i++) 
    {
        mat[i][n/2] = rec[n+i];    
        mat[n-1-i][n/2] = rec[2*n-2-i];
    }
    cout<<"-------------------------";
    for(i=0;i<n;i++) 
    {
        cout<<endl;
        for(j=0;j<n;j++) cout<<mat[i][j]<<" ";
    }
    cout<<endl<<"-------------------------"<<endl;
    cin>>i;
    return 0;
}

Za stepen matrice 9 i unetu rec elitesecurity.org koja ima 17 slova (9*2-1) izlaz ce biti ovakav:



Posto rec treba da bude na sredini matrice za stepen unesi neparan broj, jer u suprotnom nećeš imati srednju vrstu i kolonu.
Pozz
[ #Ninja# @ 12.06.2006. 22:41 ] @
Mislim da rješenje treba da bude ovako:
Code:
   g   
   a   
   r   
garfild
   i   
   l   
   d   
[ Igor Gajic @ 12.06.2006. 23:34 ] @


Recimo ovako:

Code:

int _tmain(int argc, _TCHAR* argv[])
{
       int const max=50;
       int mat[max][max];
       int duz;
       char str[max];

do{
    gets_s(str,max);
}while((strlen(str)%2)!=1);

duz=strlen(str);

for(int i=0;i<duz;i++) for(int j=0;j<duz;j++) mat[i][j]=' ';

for(int i=0;i<duz;i++)
mat[duz/2+1][i]=mat[i][duz/2+1]=str[i];

return 0;
}

[ garfild112233 @ 16.06.2006. 14:12 ] @
ok ,hvala .Da to je to ja sam kompajlirao i skontao sam na koji fazon radi.Hvala jos jednom