Автор Тема: работa с классами. Создание и разрушение объектов. на С++  (Прочитано 4115 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн arina20041992

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Помогите,пожалуйста,очень срочно нужно...
работа с классами. Создание и разрушение объектов (конструкторы, деструкторы).
Задание:
Составить описание класса, обеспечивающего представление матрицы произвольного
размера с возможностью изменения числа строк и столбцов, вывода на
экран подматрицы любого размера и всей матрицы.
Написать программу, демонстрирующую работу с этим классом. Программа
должна содержать меню, позволяющее осуществить проверку всех методов класса

Оффлайн PROSTDJ

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
#include <iostream>
#include <cstdlib>  // тут rand (), srand ()
#include <stdio.h>
#include <conio.h>  //

using namespace std; // підключаємо все необхідне для роботи програми
void PrintMas(double *A,int n){// ДрукМатриці. Приймає вказівник на перший
//елемент масиву і кількість елементів
     for (int i = 0 ; i < n ; i++){
         for (int j = 0 ; j < n ; j++){
             cout<<*(A+i*n+j)<<"\t ";
         }
         cout<<endl;
     }
     cout<<endl;
     return ;
}
void EnterMas(double *A,int n){// Заповнення матриці з клави. Парам.аналог.якв^^
     for (int i = 0 ; i < n ; i++){
         for (int j = 0 ; j < n ; j++){           
             cout<<"Enter Matrix ["<<j+1<<"]x["<<i+1<<"] = ";
             cin>>*(A+i*n+j);           
         }
     }
     return ;
}
void KillMartixMas(double *A,int &n,int jj,int ii){
     int n1=n-1;
     double *temp=new double [n1*n1];
     int zi=0,zj=0;

     for (int j = 0 ; j < n ; j++)
     {
        zi = 0;
        if (jj-1==j){
           
        }
        else
        {
            for (int i = 0 ; i < n ; i++)     
            {
               if ( i != ii-1 )
               {
                  *(temp+zj*n1+zi)=*(A+j*n+i);
                  zi++;
               }
           
            }
            zj++;
        }
     }
     n--;

     for ( int i = 0 ; i < n1*n1 ; i++ )
     {
        *(A+i)=*(temp+i);
     }

     delete []temp;
     return ;
}
main ()
{
//==============================================================================
     int n; // розмірність матриці
     int i,j;
     do{
          cout<<"Matrix\n Enter N = ";
          cin>>n;
          if (n<=0)  cout<<"ERROR : N > 0 !\n";
     }while (n<=0); // не даємо вийти, поки не буде введено n>0



     double *A = new double [n*n]; // створюємо вказівники на масиви

     EnterMas(A,n); // заповнюємо масив A розм. n*n з клави
     PrintMas(A,n); // друк масив A розм. n*n

//==============================================================================
     do{
          cout<<"Matrix\n Enter I = ";
          cin>>i;
          if ((i<1) || (i>n))  cout<<"ERROR!\n";
     }while ((i<1) || (i>n));
//==============================================================================     
     do{
          cout<<"Matrix\n Enter J = ";
          cin>>j;
          if ((j<1) || (j>n))  cout<<"ERROR!\n";
     }while ((j<1) || (j>n));
//==============================================================================

     KillMartixMas(A, n,i,j);

     PrintMas(A, n); // друк масив A розм. n*n

     delete []A;     // звільняємо пам'ять
     system("pause");
     return 0;
}
вот тебе пример=) переделаешь и будет тебе счастье=)

 

Создание цикла внутри цикла в ПП Maple

Автор Andrej211091

Ответов: 0
Просмотров: 4379
Последний ответ 30 Марта 2013, 08:23:32
от Andrej211091
Создание фигур разного цвета при нажатии на 2 кнопки(Delphi)

Автор PandaPivovar

Ответов: 2
Просмотров: 6481
Последний ответ 01 Декабря 2009, 23:46:57
от PandaPivovar