نمایش نتایج 1 تا 9 از 9

نام تاپیک: مشکل در برنامه ماتریس مربعی

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    نقل قول: مشکل در برنامه ماتریس مربعی

    دوست عزیز با تشکر از شما اگه با یه مثال توضیح بدید ممنون میشم

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    Shiraz
    سن
    35
    پست
    56

    نقل قول: مشکل در برنامه ماتریس مربعی

    قسمت اصلیش اینه که همون تابع رو بنویسید ، بقیش دیگه راحته . تابع منظورم اینه که تابعی بنویسید که مثلا اعدادی رو که از کاربر می گیره ، به ترتیب بریزه داخل [0][0] , [1][0] , ... تا [9][0] و بعد [9][1] , [9][2] , ... تا [9][9] و بعد [8][9] , [7][9] و ... تا [0][9] , و آخر هم [0][8] , [0][7] , ... تا [0][1] . این مثال برای ماتریس 10 در 10 بود. اگه به اندیس ها دقت کنی ، خیلی راحت می تونی برنامشو بنویسی. اگه نوشتی در واقع مثل اینه که بیرونی ترین لایه یه ماتریس 10 در 10 رو پر کردی.
    امیدوارم مثالم روشن بوده باشه. اگه توی نوشتن تابعش هم مشکل داشتید بپرسید.

  3. #3

    نقل قول: مشکل در برنامه ماتریس مربعی

    نقل قول نوشته شده توسط قلندری مشاهده تاپیک
    دوست عزیز با تشکر از شما اگه با یه مثال توضیح بدید ممنون میشم
    سلام
    من این برنامه رو به روش خودم نوشتم
    البته در پاسکال


    uses crt;
    var
    x:array[1..100,1..100] of integer;
    i,j,k,n,t:integer;
    begin
    clrscr;
    write('Enter n :');readln(n);
    if n mod 2=0 then t:=n div 2 else t:=(n div 2)+1;
    k:=1;
    i:=1;
    while (i<=t) do
    begin
    for j:=i to n-i+1 do
    begin
    x[i,j]:=k;
    inc(k);
    end;
    dec(k);
    for j:=i to n-i+1 do
    begin
    x[j,n-i+1]:=k;
    inc(k);
    end;
    dec(k);
    for j:=n-i+1 downto i do
    begin
    x[n-i+1,j]:=k;
    inc(k);
    end;
    dec(k);
    for j:=n-i+1 downto i+1 do
    begin
    x[j,i]:=k;
    inc(k);
    end;
    inc(i);
    end;

    for i:=1 to n do
    begin
    for j:=1 to n do write(x[i,j]:5);
    writeln;
    end;

    readln;
    end.




    http://www.imani.tk

    javadimani86@gmail.com

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    Shiraz
    سن
    35
    پست
    56

    نقل قول: مشکل در برنامه ماتریس مربعی

    با سلام
    این کد رو همین الان نوشتم. با همون راهی که خودم گفتم نوشتمش. تابع spiral اون کار رو انجام می ده. فکر کنم به دردتون بخوره

    #include<iostream.h>
    #include<iomanip.h>
    void spiral ( int **a , int m , int row );
    void matprint(int **a , int row);
    void shift(int **a , int row , int s);
    void main ( ){

    int **a , i , j , m , row , x , s;

    cout<<"Please Enter The Number Of Row : "<<endl;
    cin>>row;

    a = new int*[row];
    for (int i = 0; i < row; i++)
    a[i] = new int[row];
    for( i = 0 ; i < row ; i++ ){
    for( j = 0 ; j < row ; j++ ){
    a[i][j] = 0;
    }
    }

    for ( i = 0 ; i <( row/2 ) ; i++ ){
    spiral ( a , i , row);
    }

    if ( row % 2 == 1 ){
    x = (row-1) / 2;
    cin>>a[x][x];
    }

    cout<<"\n\n\n";
    matprint(a,row);

    cout<<"Please Enter The Number Of Shift :"<<endl;
    cin>>s;

    shift(a,row,s);
    cout<<"\n\n\n";
    matprint(a,row);
    }

    void spiral ( int **a , int m , int row ){

    int x , y , i ;

    x = m;
    y = ( row - 1 ) - m;

    for ( i = m ; i <= y ; i++ ){
    cin>>a[x][i];
    }
    for ( i = m+1 ; i < y+1 ; i++ ){
    cin>>a[i][y];
    }
    for ( i = y-1 ; i >= m ; i-- ){
    cin>>a[y][i];
    }
    for ( i = y-1 ; i > m ; i-- ){
    cin>>a[i][x];
    }

    }

    void matprint(int **a , int row){
    int i , j;
    for ( i = 0 ; i < row ; i++ ){
    for ( j = 0 ; j < row ; j++ ){
    cout<<setiosflags(ios::right)<<a[i][j]<<setw(3);
    }
    cout<<"\n";
    }
    }
    void shift(int **a , int row , int s){
    int i , j , temp2 , **temp;
    temp = new int*[row];
    for (int i = 0; i < row; i++){
    temp[i] = new int[row];
    }

    for ( i = 0 ; i < row ; i++ ){
    for ( j = 0 ; j < row ; j++ ){
    temp[i][j] = a[i][j];
    }
    }
    s = s % row;
    temp2 = s;

    for( i = 0 ; i < row ; i++ ){
    temp2 %= row;
    for ( j = 0 ; j < row ; j++ ){
    a[j][temp2] = temp [j][i];
    }
    temp2++;
    }
    }


  5. #5

    نقل قول: مشکل در برنامه ماتریس مربعی

    راه حل جالبی بود ازت تشکر می کنم

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •