Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2014, 23:31   #1
Mr.Zero
Новичок
Джуниор
 
Регистрация: 28.05.2012
Сообщений: 2
Восклицание Не могу понять ошибку в задаче с Матрицами (C++)

Задача: Описать тип-объект MATRIX (матрица произвольной размерности M*N) и его методы: ввод матрицы; вывод матрицы; дублирование столбцов матрицы, где каждый элемент содержит только неповторяющиеся цифры. Описать тип и методы его потомка MATR (методы: дублирование строк матрицы, где количество нулей среди цифр всех чисел строки равно номеру строки; дублирование столбцов матрицы, где все элементы повторяются одинаковое количество раз ).
Код:
#include "stdafx.h"
#include <stdlib.h>
#include <iomanip>
#include <cstdlib>
#include <iostream>
using namespace std;

class Matrix {
public:
int m,n;
int a[20][20];
Matrix ( );// конструктор
~Matrix ( );// деструктор
void Enter ();
void Display ();
void Dubl ();
};

Matrix:: Matrix ( )
{
cout << "Vvod v matrix \n";
cout << "Vvedite kolvo strok: ";
cin >> m;
cout << "Vvedite kolvo stolbcov: ";
cin >> n;
}

Matrix:: ~Matrix()
{
//cout << "Deleted...\n";
}
void Matrix :: Enter ( )
{
  int i;
  int j;
  for (i=1; i<=m; i++) 
  {
    for (j=1; j<=n;j++) 
	{
	   cout << "Vvod chisel v matricu: " << "a["<<i<<"]["<<j<<"]:" ;
	   cin >> a[i][j];
	}
  }
   cout <<"\n";
};

void Matrix :: Display ()
{
  int i;
  int j;
  int l=0;
  for (i=1; i<=m; i++)
  {
	for (j=1; j<=n; j++)
	{
	   cout << a[i][j] << " ";
	}
	cout << "\n";
  }
  cout << "\n";
  cin >> l;
};
void Matrix :: Dubl ( ) 
{
  int i = 0;
  int j = 0;
  int k = 0;
  int x = 0;
  for (j=1; j<=n;j++) 
  {
	for (i=1;i<=m;i++) 
	{
	   k=i;
	   for (i=1;i<=m;i++)
	   {
	       if (a[k][j]!=a[i+1][j])
	       {
		     x=x+1;
	       }
	   }
	}
	if (x>=i-1)
	{
     n=n+1;
	 for(i=1;i<=m;i++)
	  {
		a[i][n+1]=a[i][j];
	  }
	}
  }
};
class Matr : public Matrix 
{
public:
	int z;
	int i;
	int j;
void Dubl2 ( );
};

void Matr :: Dubl2 () 
{
	for (i=1;i<=m;i++) 
	{
		while (j<n) 
		{
			for (j=1;j<=n+1;j++) 
			{
				if (a[i][j]=0) 
				{
				  z=z+1;
				}
			}
			if (z==i) {
				m+=1;
	            for (j=1; j<=n;j++) 
	               {
		              a[m+1][j]=a[i][j];
	               }
			}
			  
		}

	}
};

int prompt_menu_item()
{
    // Выбранный вариант менюж
    int variant;
    cout << "VblBerite variant\n" << endl;
    cout << "1. Vvesti Massiv\n"
         << "2. Vblvesti massiv\n"
         << "3. Dublirovanie stolbcov\n"
         << "4. отсортировать\n"
         << "5. найти среднее кол-во элементов\n"
         << "6. дополнить таблицу\n"
         << "7. выйти\n" << endl;
    cout << ">>> ";
    cin >> variant;
    return variant;
};

int main ()
{
	Matrix ob;
	Matr ob2;
    ob.Enter ();
	ob.Display();
	ob.Dubl ();
	ob.Display();
	ob2.Dubl2();
	ob.Display();
};
Метод Display не выводит изменения после метода Dubl и Dubl2

Последний раз редактировалось Mr.Zero; 18.05.2014 в 23:31. Причина: Тег Code
Mr.Zero вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу понять ошибку( Goshan82 Помощь студентам 0 23.06.2013 02:27
C++. Не могу найти ошибку в задаче. Ogyt Помощь студентам 1 22.12.2010 01:44
Не могу понять ошибку.. AvA_Splash Общие вопросы C/C++ 4 22.12.2010 00:24
Не могу понять ошибку Cobro Помощь студентам 0 08.05.2010 17:19
Не могу понять ошибку. KoBRaAndrey Общие вопросы Delphi 2 18.11.2009 19:28