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

Переделать из одномерного массива в матрицу! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ найти причину вылета программы http://www.cyberforum.ru/cpp-beginners/thread268509.html
Вообщем написал программу, вроде бы все правильно (так говорит компилятор), но программа вылетает с ошибкой "Отправить отчет/Не отправлять", вообщем вы все ее знаете. #include <stdio.h> #include <iostream.h> #include <fstream.h> int n3x3(int nmas) { int np, ns, d; // calculating 3x3 minor
C++ Перевести двоичное число в десятичное у меня есть например ASCII код в двоичной системе какого то символа. как вывести это двоичное число чтоб на экране вывелась буква соответствующая этому двоичному коду? http://www.cyberforum.ru/cpp-beginners/thread268503.html
C++ Время выполнения программы увеличивается, если добавить проверку
я написал программу на перебор цикла из массива. И время её выполнения в данном примере занимает 5секунд, однако, если добавить 15 строку время увеличивается до 30 секунд. Вопрос почему? #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv) { system("PAUSE"); const int k=10; int mass;long long int r=-11,v=100000000; int s=0; for( int i...
C++ Удаление чисел последовательности, которые стоят на нечетных местах
Задача Del. Дано ряд последовательных натуральных чисел от n до m, из которого удаляют сначала все числа, которые стоят на непарных местах, и так делают до тех пор, пока не останется одно единственное число. Напишите программу, которая найдет это число. Технические условия. Программа Del читает с клавиатуры числа n и m через пропуск (n<m<1000000). Программа выводит на экран единственное...
C++ классы http://www.cyberforum.ru/cpp-beginners/thread268465.html
1.Описать класс с именем NOTE, содержащий следующие поля: фамилия, имя; номер телефона; день рождения (массив из трех чисел). 2.Написать программу, выполняющую следующие действия: ввод с клавиатуры данных в массив, состоящий из восьми элементов типа NOTE; записи должны быть упорядочены по трем первым цифрам номера телефона; вывод на экран информации о человеке, чья фамилия введена с клавиатуры;...
C++ Блокировка приложений. Доброго времени суток. необходим совет. Коротко о задаче .. программа должна просматривать запускаемые процессы и в случаи если они обращаются к определенным библиотекам прекращать их работу. поясню для чего - надо что бы на компьютере не запускались игры, но при этом без проблем работали офисные программы и приложения. Нужен совет по поводу WinAPI ф-ций, какие лучше использовать для сей... подробнее

Показать сообщение отдельно
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
02.04.2011, 16:14  [ТС]     Переделать из одномерного массива в матрицу!
НЕ РАБОТАТЕТ!!!!((Почему???

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 <vcl.h>
#include <conio.h>
#include <iostream.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
 
 // n<=5 и m<5
 
class DinArr
{
 
    int **M , n , m , *S ;
 
  public:
 
 
  DinArr(int k1 , int k2)
  {  n=k1 ; m=k2 ;
     //Создание динамической матрицы
     M=new int*[m];
     for(int i=0; i<n ; i++)
    M[i]=new int[n] ;
    //Создание динамического одномерного массива
    S=new int[m] ;
 
  }
 
 
 
  void MyDefMatr()
  {   randomize() ;
      for(int i=0 ; i<m ; i++)
       for(int j=0 ; j<n ; j++)
       M[i][j]=random(20) ;
 
  }
 
 
 
 
 
 void CopyMatrix(int **B)
 {  B=new int*[m];
     for(int i=0; i<n ; i++)
    B[i]=new int[n] ;
 
     for(int i=0;i<m ; i++)
      for(int j=0; j<n ; j++)
        B[i][j]=M[i][j] ;
   }
 
 
 
 
 
 
void MySortMatr()
{
 
 
for (int i=0; i<m ; i++ )
   {
 
 
   int flag , k=n ;
    do
     {
 
      flag=0 ;
       k-- ;
       for( int j=0 ; j<k ; j++ )
         if (M[i][j]>M[i][j+1])
          {   flag=1 ;
               int t=M[i][j] ;
                   M[i][j]=M[i][j+1] ;
                   M[i][j+1]=t ;
          }
    }
    while(flag) ;
  }
   }
 
 
 
 
 
void MyPrint(int **C,int c1=10)
{
for(int i=0;i<m;i++)
        {  textcolor(c1);
        printf("\n");
          for(int j=0; j<n; j++)
            cprintf("%5d",C[i][j]);
                }
       printf("\n");
     }
 
 
 } ;
 
 
 
 
 
int main(int argc, char* argv[])
{  // randomize;
   // DinArr ObjArr(random(Nmax));   или
   // DinArr ObjArr(6);     или
   int **B  ;   int **M ;
   unsigned n,m;
   cout<<"n=" ;
         cin>>n;
   cout<<"m=";
         cin>>m;
   DinArr ObjArr(n,m);
   ObjArr.MyDefMatr();
    ObjArr.MyPrint (M);
     ObjArr.MySortMatr();
    ObjArr.MyPrint (M);
       ObjArr.CopyMatrix(B) ;
        ObjArr.MyPrint (B);
 
   getch();
   return 0;}
Добавлено через 14 минут
Maxwe11, да точно...но оно все равно оставляет ту матрицу((((
 
Текущее время: 03:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru