Отпечатване на двумерен масив

Да се напише програма, която позволява да се въведат две положителни числа M и N (по-малки от 100) и после двумерен масив от N реда и M колони и накрая отпечатва:

  1. масива по редове (на първия ред на екрана всички елементи от първия ред на масива, на втория ред от екрана – всички елементи от втория ред на масива и т.н.)
  2. масива по колони (на първия ред на екрана всички елементи от първата колона от масива, на втория ред от екрана – всички елементи от втората колона от масива и т.н.)
  3. масива на един ред (както е при инициализацията на двумерен масив – елементите от всеки ред са отделени с запетаи, а всеки ред е ограден с фигурни скоби и разделен от следващите със запетаи) Например:
    int a[3][4]={
    	{1,2,3,4},
    	{5,6,7,8},
    	{9,10,11,12}
    	};  //3 колони с по 4 реда
    
Публикувано в 11а, 11в с етикети . Постоянна връзка.

5 Responses to Отпечатване на двумерен масив

  1. kr1stiqn1995 каза:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        int a[3][4]={
        {1,2,3,4},
        {5,6,7,8},
        {9,10,11,12}
        };
        
        for(int r=0; r<3; r++) {
           for (int c=0; c<4; c++)
             cout<<a[r][c]<<"; ";
        cout<<endl;
        }
        cout<<endl;  
        
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
  2. marant каза:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        int a[3][4]={
        {1,2,3,4},
        {5,6,7,8},
        {9,10,11,12}
        };
        cout<<"Otpechatvane po redove:"<<endl;
        for (int m=0;m<3;m++){
            
            for (int n=0;n<4;n++)
                cout<<a[m][n]<<" ";
                cout<<endl; 
            }
            cout<<endl;
            cout<<"Otpe4atvane po koloni"<<endl;
        for(int n=0;n<4;n++){
                for (int m=0;m<3;m++)
                    cout<<a[m][n]<<" ";
                    cout<<endl;
             }    
        for (int m=0;m<3;m++){
            cout<<"{";
                 for (int n=0;n<4;n++){
                     cout<<""<<a[m][n]<<",";
                     }
            cout<<"},"<<endl;
            }
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
  3. kr1stiqn1995 каза:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        int a[3][4]={
        {1,2,3,4},
        {5,6,7,8},
        {9,10,11,12}
        };
        
        for(int r=0; r<4; r++) {
           for (int c=0; c<3; c++)
             cout<<a[c][r]<<"; ";
        cout<<endl;
        }
       cout<<endl;
        
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
    • Данаил каза:

      Малко сте объркали редовете и колоните – така както сте направили масива, има 3 реда и 4 колони, а в циклите for ви е обратното. Ето един коригиран вариант, базиран на вашия:

         int a[3][4]={
          {1,2,3,4},
          {5,6,7,8},
          {9,10,11,12}
          };
           
          // отпечатване по редове
          for(int r=0; r<3; r++) {
             for (int c=0; c<4; c++)
               cout<<a[r][c]<<"; ";
          cout<<endl;
          }
         cout<<endl;
      
          // отпечатване по колони
          for (int c=0; c<4; c++) {
            for(int r=0; r<3; r++) 
               cout<<a[r][c]<<"; ";
          cout<<endl;
          }
         cout<<endl;
      

Вашият коментар