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


#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; }#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; }Браво, супер! Остава да помислиш само как да не ти отпечатва запетая след последния елемент. Правил си го в други задачи, така че съм сигурен, че можеш :-)
#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;