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

Дана динамическая целочисленная матрица - C++

Восстановить пароль Регистрация
 
L45
0 / 0 / 1
Регистрация: 13.10.2012
Сообщений: 33
22.03.2013, 13:59     Дана динамическая целочисленная матрица #1
Записал код программы, но он не работает. Помогите пожалуйста найти ошибки!!!!!
Дана динамическая целочисленная матрица. Построить динамический одномерный массив, каждый элемент которого равен сумме элементов одной строки исходной матрицы. Освободить память от матрицы, найти произведение элементов одномерного массива и записать его как динамическую переменную. Все исходные результаты и соответствующие адреса распечатать. (язык программирования С++).
Код:
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
#include <iostream.h>
 
using namespace std;
 
int main()
{
   int n, m, n1, m1;
   cout<<"Enter number of strok and stolbzov of matrix";
   cin >> n,m;
 
   int** matrix;
   matrix=new int * [n];
   for (n1 = 0; n1 < n; n1++)
   {
      matrix[n1] = new int [m];
   }
 
   cout<<"Enter a matrix postrochno";
   for (n1 = 0; n1 < n; n1++)
   {
      for (m1 = 0; m1 < m; m1--)
      {
         cin >> matrix[n1][m1];
      }
   }
   char*vector;
  vector=new char [n];
   int i, j;
   for (j = 0; j < m; j++)
   {
      vector[j] = 0;
      for (i = 0; i < n; i++)
      {
         vector[j] += matrix[j][i];
      }
   }
 
   for (j = 0; j < n; j++)
   {
      delete []matrix[j];
   }
   delete []matrix;
 
 int* val;
   val= new int [1];
   for (j = 0, *val = 1; j < m; j++)
   {
      *val *= vector[j];
   }
 
   cout<<"\n";
   for (i = 0; i < m; i++)
   {
      cout<<"adress : vector";
   }
   cout<<"adress : Res_val";
 
   delete []vector;
   delete []val;
   return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Shef4u
15 / 15 / 0
Регистрация: 31.10.2011
Сообщений: 116
22.03.2013, 14:14     Дана динамическая целочисленная матрица #2
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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
#include <iostream.h>
#include <windows.h>
using namespace std;
 
int main()
{
   int n, m, n1, m1;
   cout<<"Enter number of strok of matrix"<<endl;
   cin >> n;
   cout<<"Enter number of stolbzov of matrix"<<endl;
   cin >> m;
 
   int** matrix;
   matrix=new int * [n];
   for (n1 = 0; n1 < n; n1++)
   {
      matrix[n1] = new int [m];
   }
 
   cout<<"Enter a matrix postrochno"<<endl;
   for (n1 = 0; n1 < n; n1++)
   {
      for (m1 = 0; m1 < m; m1++)
      {
         cin >> matrix[n1][m1];
      }
   }
   char*vector;
  vector=new char [n];
   int i, j;
   for (j = 0; j < m; j++)
   {
      vector[j] = 0;
      for (i = 0; i < n; i++)
      {
         vector[j] += matrix[j][i];
      }
   }
 
   for (j = 0; j < n; j++)
   {
      delete []matrix[j];
   }
   delete []matrix;
 
 int* val;
   val= new int [1];
   for (j = 0, *val = 1; j < m; j++)
   {
      *val *= vector[j];
   }
 
   cout<<"\n";
   for (i = 0; i < m; i++)
   {
      cout<<"adress : vector"; // тут надо указать что выводить
   }
   cout<<"adress : Res_val"; // аналогично
 
   delete []vector;
   delete []val;
   system("pause");
   return 0;
}
L45
0 / 0 / 1
Регистрация: 13.10.2012
Сообщений: 33
22.03.2013, 17:01  [ТС]     Дана динамическая целочисленная матрица #3
Спасибо!!! А что значат 4,5, 9 строчки и команда endl? И нельзя без них записать? Просто язык С++ недавно изучать начал. Подскажите, пожалуйста, как записать, чтобы программа считала произведение и распечатывала адреса?
Shef4u
15 / 15 / 0
Регистрация: 31.10.2011
Сообщений: 116
22.03.2013, 23:38     Дана динамическая целочисленная матрица #4
Цитата Сообщение от L45 Посмотреть сообщение
Спасибо!!! А что значат 4,5, 9 строчки и команда endl? И нельзя без них записать? Просто язык С++ недавно изучать начал. Подскажите, пожалуйста, как записать, чтобы программа считала произведение и распечатывала адреса?
4 5 и 9 создаются автоматически при создании нового проекта в C++ Builder 6. endl(описана в iostream.h) - переход на новую строку т.е. эквивалентно к "\n" :
cout<<endl; = cout<<"\n";
/* бла бла бла */ - многострочный комментарий
я в прогрмму толком не вникал да и не люблю разбираться в чужом коде, просто сходу подправил что бросилось в глаза. я думаю должно быть что-то типа этого, но выводит что-то не совсем то:
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
#pragma hdrstop
#pragma argsused
#include <iostream.h>
#include <windows.h>
using namespace std;
 
int main()
{
   int n, m, n1, m1;
   cout<<"Enter number of strok of matrix"<<endl;
   cin >> n;
   cout<<"Enter number of stolbzov of matrix"<<endl;
   cin >> m;
 
   int** matrix;
   matrix=new int * [n];
   for (n1 = 0; n1 < n; n1++)
   {
      matrix[n1] = new int [m];
   }
 
   cout<<"Enter a matrix postrochno"<<endl;
   for (n1 = 0; n1 < n; n1++)
   {
      for (m1 = 0; m1 < m; m1++)
      {
         cin >> matrix[n1][m1];
      }
   }
   char*vector;
  vector=new char [n];
   int i, j;
   int* val;
   val= new int [1];
   for (j = 0; j < m; j++)
   {
      vector[j] = 0;
      for (i = 0; i < n; i++)
      {
        *val *= vector[j];
         vector[j] += matrix[j][i];
         cout<<"adress : vector"<<vector[j]<<endl;
         cout<<"adress : Res_val"<<*val<<endl<<endl;
      }
   }
 
   for (j = 0; j < n; j++)
   {
      delete []matrix[j];
   }
   delete []matrix;
 
 /*int* val;
   val= new int [1];
   for (j = 0, *val = 1; j < m; j++)
   {
      *val *= vector[j];
   }
 
   cout<<"\n";
   for (i = 0; i < m; i++)
   {
      cout<<"adress : vector"; 
   }
   cout<<"adress : Res_val";      */
 
   delete []vector;
   delete []val;
   system("pause");
   return 0;
}
Yandex
Объявления
22.03.2013, 23:38     Дана динамическая целочисленная матрица
Ответ Создать тему
Опции темы

Текущее время: 13:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru