Форум программистов, компьютерный форум CyberForum.ru

Класс "Матрица" - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ X!*2^k % 2^x = 0 найти х по данным N и M http://www.cyberforum.ru/cpp-beginners/thread1180257.html
2 секунды 256 мегабайт Вам даны два натуральных числа N и K. Найдите количество натуральных чисел x (1 ≤ x ≤ N), удовлетворяющих условию x! * 2^k делится на 2^x без остатка. Формат ввода В единственной строке входного файла записаны два натуральных числа N и K (N, K ≤ 10^18). Формат вывода
C++ Проверка на ввод только нескольких букв Проверка на ввод только цифр или букв, понятна, а вот собственно нужно ввести только три буквы по очереди типа R, Y, W в противном случае повтор. Не могу понять как выбрать именно эти буквы. #include <iostream> using namespace std; #include <conio.h> int _tmain(int argc, _TCHAR* argv) { setlocale (0, ""); bool flag = false; int q; http://www.cyberforum.ru/cpp-beginners/thread1180255.html
Первая программа, синтаксическая ошибка C++
Начал учить с++, взял книгу Лафоре-OOП, книга вроде хорошая, всё отлично и понятно расписано Первое задание-пишем программу, потом изучаем её структуру(уже изучил), но охота её запустить)) #include <iostream> using namespace std; int main() { cout << "Hello, world!"; system("PAUSE") }
C++ Ошибка: expected primary-expression before 'catch'
Компилятор выдает ошибки "error: expected primary-expression before 'catch' " "error: expected ';' before 'catch' " Собственно, в чем проблема? while (true) { cout << "Name: "; cin >> name;
C++ В двоичной матрице 10х10 найти совпадающие строки http://www.cyberforum.ru/cpp-beginners/thread1180243.html
прошу помочь с решением задачи "в двоичной матрице 10х10 найти совпадающие строки c++"
C++ С начала суток часовая стрелка повернулась на "y" градусов. Сколько часов и минут прошло с начала суток? С начала суток часовая стрелка повернулась на "y" градусов. Сколько часов и сколько минут прошло с начала суток? #include "stdafx.h" #include "iostream" using namespace std; int _tmain(int argc, _TCHAR* argv) { подробнее

Показать сообщение отдельно
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
19.05.2014, 00:43     Класс "Матрица"
ArhiDeuZ, вы вышли за границы массива.
Грубо говоря, пытались прочитать содержимое незарезервированной ячейки.

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#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 ( ){}
~Matrix ( ){}// äåñòðóêòîð
void Enter ();
void Display ();
void Dubl ();
};
 
void Matrix :: Enter ( )
{
  cout << "Vvod v matrix \n";
  cout << "Vvedite kolvo strok: ";
  cin >> m;
  cout << "Vvedite kolvo stolbcov: ";
  cin >> n;
  int i;
  int j;
  for (i=0; i<m; i++) 
  {
    for (j=0; 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=0; i<m; i++)
  {
    for (j=0; j<n; j++)
    {
       cout << a[i][j] << " ";
    }
    cout << "\n";
  }
  cout << "\n";
};
void Matrix :: Dubl ( ) 
{
  int i = 0;
  int j = 0;
  int k = 0;
  int x = 0;
  for (; j<n;j++) 
  {
    for (;i<m;i++) 
    {
       k=i;
       for (;i<m;i++)
       {
           if (a[k][j]!=a[i][j])
           {
             x=x+1;
           }
       }
    }
    if (x>=i-1)
    {
     for(i=0;i<m;i++)
      {
        a[i][n]=a[i][j];
      }
    }
  }
};
class Matr : public Matrix 
{
public:
    int z;
    int i;
    int j;
void Dubl2 ( );
};
 
void Matr :: Dubl2 () 
{
    for (i=0;i<m;i++) 
    {
        while (j<n) 
        {
            for (j=0;j<n;j++) 
            {
                if (a[i][j]=0) 
                {
                  z=z+1;
                }
            }
            if (z==i) {
                for (j=0; j<n;j++) 
                   {
                      a[m][j]=a[i][j];
                   }
            }
              
        }
 
    }
};
 
 
int main()
{
    Matrix ob;
    Matr ob2;
    ob.Enter ();
    ob.Display();
    ob.Dubl ();
    ob.Display();
    ob2.Dubl2();
    ob.Display();
    system("pause");
    return 0;
}

Вот так просто печатает, вы измените логику функций дублирования и.т.д.
Повторюсь, не увеличивайте размер m и n после инициализации.
 
Текущее время: 20:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru