• Задача 8. Решение 1:

    
    #include<iostream>
    using namespace std;
    int main()
    {
        int i,j,a[10][20],n,m,Sum;
        cout<<"брой редове: ";
        cin>>n;
        cout<<"брой колони: ";
        cin>>m;
        for(i=0;i<n;i++)
        for(j=0;j<m;j++)
        {
            cout<<"a["<<i<<"]["<<j<<"]=";
            cin>>a[i][j];
        }
        for(i=0;i<n;i++)
        {
            for(j=0;j<m;j++)
            cout<<a[i][j]<<"  ";
            cout<<endl;
        }
        cout<<"сборът на елементите от отделните колони:"<<endl;
        for(j=0;j<m;j++)
        {
            Sum=0;
            for(i=0;i<n;i++)
            Sum=Sum+a[i][j];
            cout<<Sum<<" ";
        }
        return 0;
    }
    

    Задача 8. Решение 2:

    
    #include <iostream>
    #include <iomanip>
    using namespace std;
    int main()
    {
      int matrix[10][20]={0};
      // Броят на редовете(rows) и колоните(cols) които ще се въведат
      int rows, cols;
      // Въвежда се броя на редовете и колоните
      std::cout << "Input rows: ";
      std::cin >> rows;
      std::cout << "Input cols: ";
      std::cin >> cols;
      std::cout << std::endl;
      // Въвежда се матрицата
      std::cout << "Input matrix:" << std::endl;
      for(int i=0; i<rows; i++) {
          for(int j=0; j<cols; j++) {
              std::cout << "matrix[" << i << "][" << j << "] = ";
              std::cin >>  matrix[i][j];
              }
              std::cout << std::endl;
         }
         // Масив за реда със сумите на елементите по колони
         int sumColumns[20]={0};
        // Извежда се матрицата чрез обхождане по редове и същевременно
        //се намират сумите на елементите по колони
        std::cout << "Output matrix:" << std::endl;
        for(int i=0; i<rows; i++) {
            for(int j=0; j<cols; j++) {
                // Извеждат се елементите на матрицата на екрана
                std::cout << setw(11) << matrix[i][j];
                // Увеличава сумата за съответната колона с текущия елемент
                sumColumns[j] += matrix[i][j];
            }
            std::cout << std::endl;
        }
        for(int i=0; i<cols; i++) std::cout << "-----------";
        std::cout << std::endl;
        for(int i=0; i<cols; i++) std::cout << setw(11) << sumColumns[i];
        std::cout << std::endl;
        return 0;
    }
    

    Задача 9. Решение 1:

    
    #include<iostream>
    using namespace std;
    int main()
    {
        int i,j,a[50][60],n,m,Sum;
        cout<<"брой редове: ";
        cin>>n;
        cout<<"брой колони: ";
        cin>>m;
        for(i=0;i<n;i++)
        for(j=0;j<m;j++)
        {
            cout<<"a["<<i<<"]["<<j<<"]=";
            cin>>a[i][j];
        }
        for(i=0;i<n;i++)
        {
            Sum=0;
            for(j=0;j<m;j++)
            {
            cout<<a[i][j]<<"  ";
            if(a[i][j]%3==0)
            Sum=Sum+a[i][j];
            }
        cout<<Sum<<" ";
        cout<<endl;
        }
        return 0;
    }
    

    Задача 9. Решение 2:

    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    int main()
    {
    	int matrix[50][60]={0};
    
    	// Броят на редовете(rows) и колоните(cols) 
    	int rows, cols;
    	// Въвежда се броя на редовете и колоните
    	std::cout << "Input rows: ";
    	std::cin >> rows;
    	std::cout << "Input cols: ";
    	std::cin >> cols;
    	std::cout << std::endl;
    
    	// Въвежда се матрицата
    	std::cout << "Input matrix:" << std::endl;
    	for(int i=0; i<rows; i++) {
    		for(int j=0; j<cols; j++) {
    			std::cout << "matrix[" << i << "][" << j << "] = ";
    			std::cin >>  matrix[i][j];
    		}
    		std::cout << std::endl;
    	}
    
    	// Масив за броя на четните елементи по колони
    	int evenNumbersCnt[30]={0};
    
    	// Извежда се матрицата чрез обхождане по редове 
    	// и същевременно се намират минималните елементи
    	std::cout << "Output matrix:" << std::endl;
    	for(int i=0; i<rows; i++) {
    
    		double Sum = 0;
    		bool foundSum = false;
    
    		for(int j=0; j<cols; j++) {
    
    			// Извеждат се елементите на матрицата 
    			std::cout << setw(11) << matrix[i][j];
    
    			// Проверява дали числото е кратно на 3
    			if( matrix[i][j]%3 == 0 ) {
    				Sum += matrix[i][j];
    				foundSum = true;
    			}
    		}
    		// Извежда се сумата в края на реда, ако има намерена такава
    		if( true == foundSum ) std::cout << " | " << setw(11) << Sum << std::endl;
    		else std::cout << " | " << setw(11) << '-' << std::endl;
    	}
    
    	return 0;
    }
    

    Задача 10. Решение 1:

    
    using namespace std;
    int main()
    {
        int i,j,a[40][30],n,m,br;
        cout<<"брой редове: ";
        cin>>n;
        cout<<"брой колони: ";
        cin>>m;
        for(i=0;i<n;i++)
        for(j=0;j<m;j++)
        {
            cout<<"a["<<i<<"]["<<j<<"]=";
            cin>>a[i][j];
        }
        for(i=0;i<n;i++)
        {
            for(j=0;j<m;j++)
            cout<<a[i][j]<<"  ";
            cout<<endl;
        }
        cout<<"броят на нечетните елементи от отделните колони:"<<endl;
        for(j=0;j<m;j++)
        {
            br=0;
            for(i=0;i<n;i++)
            if(a[i][j]%2!=0) br++;
            cout<<br<<"  ";
        }
        return 0;
    }
    

    Задача 10. Решение 2:

    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    
    int main()
    {
    	int matrix[40][30]={0};
    
    	// Броят на редовете(rows) и колоните(cols) 
    	int rows, cols;
    	// Въвежда се броя на редовете и колоните
    	std::cout << "Input rows: ";
    	std::cin >> rows;
    	std::cout << "Input cols: ";
    	std::cin >> cols;
    	std::cout << std::endl;
    
    	// Въвежда се матрицата
    	std::cout << "Input matrix:" << std::endl;
    	for(int i=0; i<rows; i++) {
    		for(int j=0; j<cols; j++) {
    			std::cout << "matrix[" << i << "][" << j << "] = ";
    			std::cin >>  matrix[i][j];
    		}
    		std::cout << std::endl;
    	}
    
    	// Масив за броя на четните елементи по колони
    	int evenNumbersCnt[30]={0};
    
    	// Извежда се матрицата чрез обхождане по редове 
    	// и същевременно се намират минималните елементи
    	std::cout << "Output matrix:" << std::endl;
    	for(int i=0; i<rows; i++) {
    
    		for(int j=0; j<cols; j++) {
    
    			// Извеждат се елементите на матрицата 
    			std::cout << setw(11) << matrix[i][j];
    
    			// Проверява дали числото е нечетно и се увеличава брояча
    			if( matrix[i][j]%2 == 1 ) {
    				evenNumbersCnt[j]++;
    			}
    		}
    		std::cout << std::endl;
    	}
    
    	for(int i=0; i<cols; i++) std::cout << "-----------";
    	std::cout << std::endl;
    
    	for(int i=0; i<cols; i++) std::cout << setw(11) << evenNumbersCnt[i];
    	std::cout << std::endl;
    
    	return 0;
    }
    

    Задача 11. Решение 1:

    
    #include<iostream>
    using namespace std;
    int main()
    {
        int i,j,a[10][30],n,m,max;
        cout<<"брой редове: ";
        cin>>n;
        cout<<"брой колони: ";
        cin>>m;
        for(i=0;i<n;i++)
        for(j=0;j<m;j++)
        {
            cout<<"a["<<i<<"]["<<j<<"]=";
            cin>>a[i][j];
        }
        for(i=0;i<n;i++)
        {
            max=a[i][0];
            for(j=0;j<m;j++)
            {
            cout<<a[i][j]<<"  ";
            if(a[i][j]>max)
            max=a[i][j];
            }
        cout<<max<<" ";
        cout<<endl;
        }
        return 0;
    }
    

    Задача 11. Решение 2:

    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    
    int main()
    {
    	int matrix[10][30]={0};
    
    	// Броят на редовете(rows) и колоните(cols) 
    	int rows, cols;
    	// Въвежда се броя на редовете и колоните
    	std::cout << "Input rows: ";
    	std::cin >> rows;
    	std::cout << "Input cols: ";
    	std::cin >> cols;
    	std::cout << std::endl;
    
    	// Въвежда се матрицата
    	std::cout << "Input matrix:" << std::endl;
    	for(int i=0; i<rows; i++) {
    		for(int j=0; j<cols; j++) {
    			std::cout << "matrix[" << i << "][" << j << "] = ";
    			std::cin >>  matrix[i][j];
    		}
    		std::cout << std::endl;
    	}
    
    	// Извежда се матрицата  и същевременно търси максималните елемети, 
    	// за да ги изведе на края на реда
    	std::cout << "Output matrix:" << std::endl;
    	for(int i=0; i<rows; i++) {
    
    		// Декларира се променлива за максималния елемент и се инициализира с
    		// числото от нулевата колона за дадения ред
    		int maxNumber = matrix[i][0];
    
    		for(int j=0; j<cols; j++) {
    
    			// Извежда се матрицата
    			std::cout << setw(11) << matrix[i][j];
    
    			// Търсене на максималния елемент
    			if( matrix[i][j] > maxNumber ) maxNumber = matrix[i][j];
    		}
    
    		// Извежда се максималното число в края на реда
    		std::cout << " | " << setw(11) << maxNumber << std::endl;
    	}
    
    	return 0;
    }
    

    Задача 12. Решение 1:

    
    #include<iostream>
    using namespace std;
    int main()
    {
        int i,j,a[20][10],n,m,min;
        cout<<"брой редове: ";
        cin>>n;
        cout<<"брой колони: ";
        cin>>m;
        for(i=0;i<n;i++)
        for(j=0;j<m;j++)
        {
            cout<<"a["<<i<<"]["<<j<<"]=";
            cin>>a[i][j];
        }
        for(i=0;i<n;i++)
        {
            for(j=0;j<m;j++)
            cout<<a[i][j]<<"  ";
            cout<<endl;
        }
        cout<<"минималните елементи от отделните колони:"<<endl;
        for(j=0;j<m;j++)
        {
            min=a[0][j];
            for(i=1;i<n;i++)
            {
            if(a[i][j]<min)
            min=a[i][j];
            }
        cout<<min<<"  ";
        }
        return 0;
    }
    

    Задача 12. Решение 2:

    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    
    int main()
    {
    	int matrix[20][10]={0};
    
    	// Броя на редовете(rows) и колоните(cols) 
    	int rows, cols;
    	// Въвежда се броя на редовете и колоните
    	std::cout << "Input rows: ";
    	std::cin >> rows;
    	std::cout << "Input cols: ";
    	std::cin >> cols;
    	std::cout << std::endl;
    
    	// Въвежда се матрицата
    	std::cout << "Input matrix:" << std::endl;
    	for(int i=0; i<rows; i++) {
    		for(int j=0; j<cols; j++) {
    			std::cout << "matrix[" << i << "][" << j << "] = ";
    			std::cin >>  matrix[i][j];
    		}
    		std::cout << std::endl;
    	}
    
    	// Масив за реда на минималните елементи по колони
    	int minColumnNumbers[10];
    
    	// Извежда се матрицата чрез обхождане по редове и същевременно 
    	// се намират минималните елементи
    	std::cout << "Output matrix:" << std::endl;
    	for(int i=0; i<rows; i++) {
    
    		for(int j=0; j<cols; j++) {
    
    			// Извеждат се елементите на матрицата на екрана
    			std::cout << setw(11) << matrix[i][j];
    
    			// Ако е нулевия ред(i), то minColumnNumbers се инициализира с
    			// елемента от всяка колона(j)
    			if( i == 0 ) {
    				minColumnNumbers[j] = matrix[i][j];
    			}
    			else if(matrix[i][j] < minColumnNumbers[j]) {
    				minColumnNumbers[j] = matrix[i][j];
    			}
    		}
    		std::cout << std::endl;
    	}
    
    	for(int i=0; i<cols; i++) std::cout << "-----------";
    	std::cout << std::endl;
    
    	for(int i=0; i<cols; i++) std::cout << setw(11) << minColumnNumbers[i];
    	std::cout << std::endl;
    
    	return 0;
    }
    
    

    Задача 13. Решение 1:

    
    

    Задача 13. Решение 2:

    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    
    int main()
    {
    	int matrix[10][30]={0};
    
    	// Броя на редовете(rows) и колоните(cols) 
    	int rows, cols;
    	// Въвежда се броя на редовете и колоните
    	std::cout << "Input rows: ";
    	std::cin >> rows;
    	std::cout << "Input cols: ";
    	std::cin >> cols;
    	std::cout << std::endl;
    
    	// Въвежда се матрицата
    	std::cout << "Input matrix:" << std::endl;
    	for(int i=0; i<rows; i++) {
    		for(int j=0; j<cols; j++) {
    			std::cout << "matrix[" << i << "][" << j << "] = ";
    			std::cin >>  matrix[i][j];
    		}
    		std::cout << std::endl;
    	}
    
    	// Променлива за минималния максимален елемент
    	int minMxNumber;
    
    	// Извежда се матрицата  и същевременно търси максималните елемети, 
    	// за да ги изведе на края на реда;
    	std::cout << "Output matrix:" << std::endl;
    	for(int i=0; i<rows; i++) {
    
    		// Декларира се променлива за максималния елемент и се инициализира с
    		// числото от нулевата колона за дадения ред
    		int maxNumber = matrix[i][0];
    
    		for(int j=0; j<cols; j++) {
    
    			// Извежда се матрицата
    			std::cout << setw(11) << matrix[i][j];
    
    			// Търсене на максималния елемент
    			if( matrix[i][j] > maxNumber ) maxNumber = matrix[i][j];
    		}
    
    		// Извежда се максималното число в края на реда
    		std::cout << " | " << setw(11) << maxNumber<< std::endl;
    
    		if( 0 == i) minMxNumber = maxNumber;
    		else if( maxNumber < minMxNumber ) minMxNumber = maxNumber;
    	}
    
    	std::cout << std::endl;
    	std::cout << "Min number from all max numbers of row is: " << minMxNumber << std::endl;
    
    	return 0;
    }
    

    Задача 14. Решение 1:

    
    

    Задача 14. Решение 2:

    
    

    Задача 15. Решение 1:

    
    

    Задача 15. Решение 2:

    
    

    Задача 16. Решение 1:

    
    

    Задача 16. Решение 2:

    
    

    Задача 17. Решение 1:

    
    

    Задача 17. Решение 2:

    
    

    Задача 18. Решение 1:

    
    

    Задача 18. Решение 2:

    
    

    Задача 19. Решение 1:

    
    

    Задача 19. Решение 2:

    
    

    Задача 20. Решение 1:

    
    

    Задача 20. Решение 2: