Вариант 12

Дана матрица. Необходимо:

  1. уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями;
  2. найти номер первой из строк, содержащих хотя бы один положительный элемент.

Код программы:

//---------------------------------------------------------------------------
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<windows.h>
#include<iomanip.h>
#include<vcl.h>
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
char *rus(const char *text); 
int main(int argc, char* argv[])
 {
  randomize();
  int n,m,i,j,cnt=0,ipos=0;
  cout<<rus("Введите размерность массива:")<<endl;
  cout<<rus("Введите количество строк:    n=");cin>>n;
  cout<<rus("Введите количество столбцов: m=");cin>>m;
  int **a=new int*[n];
  for(i=0;i<n;i++)a[i]=new int[m];
  int **a1=new int*[n];
  for(i=0;i<n;i++)a1[i]=new int[m];
//---------------------------------------------------------------------------
  cout<<rus("\nВведите элементы массива:")<<endl<<endl;
  for(i=0;i<n;i++)
   {
    for(j=0;j<m;j++)
     {
      a[i][j]=-4+random(10);
      cout<<setw(4)<<a[i][j];
     }
    cout<<endl;
   }
//---------------------------------------------------------------------------
  for(i=0;i<n;i++)
   {
    for(j=0;j<m;j++)
    if(a[i][j]>0)
     {
      ipos=i;
      cnt++;
      break;
     }
    if(1==cnt)
     {
      cout<<rus("\nНомер строки содержащий положительный элемент: ")<<ipos+1;
      break;
     }
   }
  if(0==cnt)cout<<rus("\nТаких строк нет!");
//---------------------------------------------------------------------------
  cout<<endl<<endl;
  cout<<rus("Уплотненная матрица:")<<endl<<endl;
  cnt=0;
  for(i=0;i<n;i++)
  for(j=0;j<m;j++)
   {
    if(a[i][j]!=0)
     {
      cout<<setw(4)<<a[i][j];
      cnt++;
     }
    if(cnt==m)
     {
      cout<<endl;
      cnt=0;
     }
   }
  getch();
  return 0;
 }
//---------------------------------------------------------------------------
char bufrus[256];
char *rus(const char *text)
 {
  CharToOem(text, bufrus);
  return bufrus;
 }
//---------------------------------------------------------------------------

Результат работы программы:

Результат работы. Двенадцатый вариант. Двумерные массивы

Вариант 11
Вариант 13
error: Content is protected !!