На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> Добавить в класс для работы с двухмерным массивом целых чисел
    Добрый день , помогите решить несколько задач.

    • операции ++ (--): одновременно увеличивает (уменьшает) значение всех элементов массива на 1;
    • констант true и false: обращение к экземпляру класса дает значение true, если двумерный массив является квадратным;
    • операции бинарный +: позволяющей сложить два массива соответсвующих размерностей;
    • преобразования класса массив в двумерный массив (и наоборот).

    Ниже код:
    ExpandedWrap disabled
      #include <iostream>
       
      using namespace std;
       
      class DMassiv
      {
       
      public:
          int **IntArray;
          int n;
          int b,a,r,l,p;
          
       
          DMassiv()
          {
            IntArray=0;
            n=0;
          }
          int setVvod()
          {
              cout<<"Введите n:";
              cin>>n;
              cout<<"Введите массив:"<<endl;
                  IntArray=new int*[n];
                  for (int i = 0; i < n; i++)
                      {
                           IntArray[i]=new int[n];
                           for (int j = 0; j < n; j++)
                           {
                             cin>>IntArray[i][j];
                           }
                      }
                  return 1;
          }
          void getVivod()
          {
          for (int i = 0; i < n; i++)
              {
                  for (int j = 0; j < n; j++)
                  {
                      cout<< "\t" <<IntArray[i][j]<<" ";
                      
                  }
            cout<<endl;
              }
          }
          int summa(int l)
          {
              int s=0;
              for (int i = 0; i < n; i++)
              {
                  for (int j = 0; j < n; j++)
                  {
                      if (l>n)cout<<"Невозможно выполнить"<<endl;
                      if (j==l) s+=IntArray[i][j];
                  }
              }
          return s;
          }
        
          void poisk()
              {
                  cout<<"Введите номер солбца: \n";
                     cin>>a;
                      cout<<"Номер строки: \n";
                      cin>>r;
                  for (int i = 0; i < n; i++)
                  {
                      for (int j = 0; j <n;j++)
                      {
                          if(i==r-1 && j==a-1) p=IntArray[i][j];
                      }
                  }
                  cout<<"Элемент:"<< p << endl;
              }
              int GetSnull()
              {
                  {
                      int b=0;
                      for(int i=0;i<n;i++)
                      {
                        for(int j=0;j<n;j++)
                        {
                              if(IntArray[i][j]==0)b++;
                        }
                      }
                      return b;
                  }
              }
      };
       
      int main()
      {
       
      int l;
       
        DMassiv mas;
          mas.setVvod();
          mas.getVivod();
       
        
          mas.poisk();
          std::cout<<std::endl;
          cout<<"Номер столбца:\n";
                  cin>>l;
                  std::cout<<mas.summa(l-1)<<std::endl;
       
          system("PAUSE");
          return 0;
      }
    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
    0 пользователей:


    Рейтинг@Mail.ru
    [ Script execution time: 0,0172 ]   [ 17 queries used ]   [ Generated: 19.04.24, 05:14 GMT ]