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

cannot convert parametr - C++

Восстановить пароль Регистрация
 
takewa
 Аватар для takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
31.10.2012, 22:43     cannot convert parametr #1
Здравствуйте, у меня проблемка, программа ругается не пойму на что. Если можете исправьте пожалуйста.
C:\Users\DniweEbanoe\Desktop\pepiska\7_3\7_3.cpp(71) : error C2664: 'sum' : cannot convert parameter 1 from 'int [10][10]' to 'int ** '
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
C:\Users\DniweEbanoe\Desktop\pepiska\7_3\7_3.cpp(72) : error C2664: 'sgl' : cannot convert parameter 1 from 'int [10][10]' to 'int ** '
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
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
#include<iostream>
#include <iomanip.h> 
void sgl(int **matrs,int **matr, int n)
{int i;int j;int kol_vo;int k;int l;
for (i=0;i<n;i++)
        for (j=0;j<n;j++)
            {   matrs[i][j]=0;
                kol_vo=0;
                for (k=i-1;k<=i+1;k++)
                    {
                      if ((k>-1)&(k<n))
                        { 
                            for (l=j-1;l<=j+1;l++)
                            { if ((l>-1)&(l<n))
                                { 
                                    if ((k!=i)|(l!=j))
                                    { 
                                matrs[i][j]=matrs[i][j]+matr[k][l];
                                kol_vo++;
                                    }
                                }
                            }
                        }
                    }
                matrs[i][j]=matrs[i][j]/kol_vo;
            }
    cout<<"Iz nee poluchena sglajenaya matrica:"<<endl; 
}
void sum(int **matrs,int n)
{int i;int j;for (i=0;i<n;i++)
    {
        for (j=0;j<n;j++)
            { 
            cout<<setw(2)<< setprecision (3) <<matrs[i][j]<<'\t';
            }
        cout<<endl;
    }
       int sum=0;int p;
    for (i=1;i<n;i++)
        for (j=0;j<n-(n-i);j++)
        { if ((matrs[i][j])<0)
            {
            p=matrs[i][j];
            matrs[i][j]=matrs[i][j]*(-1);
            sum+=matrs[i][j];
            matrs[i][j]=p;
            }
          else
            {
              sum+=matrs[i][j];
            }
        }
            
        cout<<"summa modulei elementov nije glavnoi diagonali sglajhenoy matrici : "<<setw(8)<<sum<<endl;
            
}
 
void main()
{
    const int n= 10; 
    int matr [n][n];
    int matrs[n][n]; 
    int i,j,k,l;
    for (i=0;i<n;i++)
        for (j=0;j<n;j++) 
        {
        
            cout << setw(4) << (matr[i][j] = rand() % 5-4)<<'\t';
        }
   cout<<endl; 
    sum(matr,n);
    sgl(matrs,n,matr);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2012, 22:43     cannot convert parametr
Посмотрите здесь:

Cannot convert C++
C++ Ошибка: cannot convert parameter
C++ Cd key convert
C++ cannot convert parameter 1 from
Cannot convert 'UnicodeString' to 'String' C++
error: cannot convert to in assigment C++
C++ convert char to hex
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
angelgreys
9 / 9 / 0
Регистрация: 29.10.2012
Сообщений: 27
31.10.2012, 22:48     cannot convert parametr #2
а что делает программа?
я, конечно, понимаю, что приведен исходник, но...

по ошибкам:
ты передаешь в функцию матрицу, а нужно передать указатель

C++
1
2
sum(matr,n);
sgl(matrs,n,matr);
замени на
C++
1
2
sum(**matr,n);
sgl(**matrs,n,matr);
поидее должно заработать))
gray_fox
What a waste!
 Аватар для gray_fox
1246 / 1129 / 54
Регистрация: 21.04.2012
Сообщений: 2,354
Завершенные тесты: 3
31.10.2012, 22:50     cannot convert parametr #3
Цитата Сообщение от takewa Посмотреть сообщение
ругается не пойму на что.
Ругается на несоответствие типов: массив и указатель - это разные типы.
Можете попробывать заменить
C++
1
void sgl(int **matrs,int **matr, int n)
на
C++
1
2
template<int n>
void sgl(int (&matrs)[n][n], int (&matr)[n][n])
а
C++
1
void sum(int **matrs,int n)
на
C++
1
2
template<int n>
void sum(int (&matrs)[n][n])
Соответственно вызывать их так
C++
1
2
sum(matr);
sgl(matrs, matr);
David Sylva
 Аватар для David Sylva
1283 / 945 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
31.10.2012, 22:52     cannot convert parametr #4
Неправильно передаёшь матрицы в функции, в твоём случае надо вместо void sum(int **matrs,int n), сделать так void sum(int matrs[][10], int n); С другой функцией то же самое.
takewa
 Аватар для takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
31.10.2012, 22:57  [ТС]     cannot convert parametr #5
Цитата Сообщение от gray_fox Посмотреть сообщение
Ругается на несоответствие типов: массив и указатель - это разные типы.
Можете попробывать заменить
C++
1
void sgl(int **matrs,int **matr, int n)
на
C++
1
2
template<int n>
void sgl(int (&matrs)[n][n], int (&matr)[n][n])
а
C++
1
void sum(int **matrs,int n)
на
C++
1
2
template<int n>
void sum(int (&matrs)[n][n])
Соответственно вызывать их так
C++
1
2
sum(matr);
sgl(matrs, matr);
это уже другая лаба будет, она то у меня работает на ура.

Добавлено через 1 минуту
Цитата Сообщение от angelgreys Посмотреть сообщение
а что делает программа?
я, конечно, понимаю, что приведен исходник, но...

по ошибкам:
ты передаешь в функцию матрицу, а нужно передать указатель

C++
1
2
sum(matr,n);
sgl(matrs,n,matr);
замени на
C++
1
2
sum(**matr,n);
sgl(**matrs,n,matr);
поидее должно заработать))
не помогло

Добавлено через 59 секунд
Цитата Сообщение от David Sylva Посмотреть сообщение
Неправильно передаёшь матрицы в функции, в твоём случае надо вместо void sum(int **matrs,int n), сделать так void sum(int matrs[][10], int n); С другой функцией то же самое.
та же ошибка
gray_fox
What a waste!
 Аватар для gray_fox
1246 / 1129 / 54
Регистрация: 21.04.2012
Сообщений: 2,354
Завершенные тесты: 3
31.10.2012, 22:57     cannot convert parametr #6
Тогда можно попробывать вызывать так:
C++
1
2
int * p = &matr[0][0];
sum(&p, n);
Но я вообще не уверен, что это корректно.
takewa
 Аватар для takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
31.10.2012, 23:21  [ТС]     cannot convert parametr #7
Цитата Сообщение от angelgreys Посмотреть сообщение
а что делает программа?
я, конечно, понимаю, что приведен исходник, но...
Соседями элемента Aij в матрице назовём элементы Akl с i-1<k<i+1 , j-1<l <j+1 , (k,l) неравно (i,j) . Операция сглаживания матрицы даёт новую матрицу того же размера, каждый элемент которой получается как среднее арифметической имеющихся соседей соответствующего элемента исходной матрицы. Построить резулbтат сглаживания заданной вещественной матрицы размером 10 на 10.
В сглаженной матрице найти сумму модулей элементов, расположенных ниже главной диагонали.
Задание

Добавлено через 1 минуту
Цитата Сообщение от gray_fox Посмотреть сообщение
Тогда можно попробывать вызывать так:
C++
1
2
int * p = &matr[0][0];
sum(&p, n);
Но я вообще не уверен, что это корректно.
и куда писать int * p = &matr[0][0];?

Добавлено через 2 минуты
Программа заработала, я просто сразу 2 способа впислал, и не заметил. Помогло void sum(int matrs[][10], int n);
Но вот беда.
Соседями элемента Aij в матрице назовём элементы Akl с i-1<k<i+1 , j-1<l <j+1 , (k,l) неравно (i,j) . Операция сглаживания матрицы даёт новую матрицу того же размера, каждый элемент которой получается как среднее арифметической имеющихся соседей соответствующего элемента исходной матрицы. Построить резулbтат сглаживания заданной вещественной матрицы размером 10 на 10.
Это условие не работает..
Она тупо ничего не делает...

Добавлено через 17 минут
Может кто то помочь исправить код?
gray_fox
What a waste!
 Аватар для gray_fox
1246 / 1129 / 54
Регистрация: 21.04.2012
Сообщений: 2,354
Завершенные тесты: 3
01.11.2012, 00:10     cannot convert parametr #8
Вот такой вот ужас получился (тело ф-ии):
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
   matrs[0][0] = (
              matr[  0  ][  1  ]
            + matr[  1  ][  0  ]
            + matr[  1  ][  1  ]
         ) / 3;
   matrs[0][n - 1] = (
              matr[  0  ][n - 2]
            + matr[  1  ][n - 1]
            + matr[  1  ][n - 2]
         ) / 3;
   matrs[n - 1][0] = (
              matr[n - 2][  0  ]
            + matr[n - 1][  1  ]
            + matr[n - 2][  1  ]
         ) / 3;
   matrs[n - 1][n - 1] = (
              matr[n - 2][n - 1]
            + matr[n - 1][n - 2]
            + matr[n - 2][n - 2]
         ) /3;
   
   for (std::size_t i = 1; i + 1 != n; ++i) {
      matrs[0][i] = (
                 matr[  0  ][i - 1]
               + matr[  0  ][i + 1]
               + matr[  1  ][  i  ]
               + matr[  1  ][i - 1]
               + matr[  1  ][i + 1]
            ) / 5;
      matrs[n - 1][i] = (
                 matr[n - 1][i - 1]
               + matr[n - 1][i + 1]
               + matr[n - 2][  i  ]
               + matr[n - 2][i - 1]
               + matr[n - 2][i + 1]
            ) / 5;
      matrs[i][0] = (
                 matr[i - 1][  0  ]
               + matr[i + 1][  0  ]
               + matr[  i  ][  1  ]
               + matr[i - 1][  1  ]
               + matr[i + 1][  1  ]
            ) / 5;
      matrs[i][n - 1] = (
                 matr[i - 1][n - 1]
               + matr[i + 1][n - 1]
               + matr[  i  ][n - 2]
               + matr[i - 1][n - 2]
               + matr[i + 1][n - 2]
            ) / 5;
      
      for (std::size_t j = 1; j + 1 != n; ++j) {
         matrs[i][j] = (
                    matr[i - 1][  j  ]
                  + matr[i - 1][j - 1]
                  + matr[i - 1][j + 1]
                  + matr[  i  ][j - 1]
                  + matr[  i  ][j + 1]
                  + matr[i + 1][  j  ]
                  + matr[i + 1][j - 1]
                  + matr[i + 1][j + 1]
               ) / 8;
      }
   }
Добавлено через 50 секунд
Проверял так: http://liveworkspace.org/code/6d85b8...2fb66a34639dcf
takewa
 Аватар для takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
01.11.2012, 00:12  [ТС]     cannot convert parametr #9
Цитата Сообщение от gray_fox Посмотреть сообщение
Вот такой вот ужас получился (тело ф-ии):

Добавлено через 50 секунд
Проверял так: http://liveworkspace.org/code/6d85b8...2fb66a34639dcf
это я как понял нужно в void sgl писать?)
gray_fox
What a waste!
 Аватар для gray_fox
1246 / 1129 / 54
Регистрация: 21.04.2012
Сообщений: 2,354
Завершенные тесты: 3
01.11.2012, 00:16     cannot convert parametr #10
Цитата Сообщение от takewa Посмотреть сообщение
это я как понял нужно в void sgl писать?)
Ну да.
takewa
 Аватар для takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
01.11.2012, 00:26  [ТС]     cannot convert parametr #11
Я то думаю, что не так, смотрю не вписал cout<<matrs, вписал, матрица, изменилась, но это не является ср. ар.

Добавлено через 4 минуты
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
#include<iostream>
#include <iomanip.h> 
void sgl(int matrs[][10], int n, int matr[][10])
{int j;matrs[0][0] = (
              matr[  0  ][  1  ]
            + matr[  1  ][  0  ]
            + matr[  1  ][  1  ]
         ) / 3;
   matrs[0][n - 1] = (
              matr[  0  ][n - 2]
            + matr[  1  ][n - 1]
            + matr[  1  ][n - 2]
         ) / 3;
   matrs[n - 1][0] = (
              matr[n - 2][  0  ]
            + matr[n - 1][  1  ]
            + matr[n - 2][  1  ]
         ) / 3;
   matrs[n - 1][n - 1] = (
              matr[n - 2][n - 1]
            + matr[n - 1][n - 2]
            + matr[n - 2][n - 2]
         ) /3;
   
   for (size_t i = 1; i + 1 != n; ++i) {
      matrs[0][i] = (
                 matr[  0  ][i - 1]
               + matr[  0  ][i + 1]
               + matr[  1  ][  i  ]
               + matr[  1  ][i - 1]
               + matr[  1  ][i + 1]
            ) / 5;
      matrs[n - 1][i] = (
                 matr[n - 1][i - 1]
               + matr[n - 1][i + 1]
               + matr[n - 2][  i  ]
               + matr[n - 2][i - 1]
               + matr[n - 2][i + 1]
            ) / 5;
      matrs[i][0] = (
                 matr[i - 1][  0  ]
               + matr[i + 1][  0  ]
               + matr[  i  ][  1  ]
               + matr[i - 1][  1  ]
               + matr[i + 1][  1  ]
            ) / 5;
      matrs[i][n - 1] = (
                 matr[i - 1][n - 1]
               + matr[i + 1][n - 1]
               + matr[  i  ][n - 2]
               + matr[i - 1][n - 2]
               + matr[i + 1][n - 2]
            ) / 5;
      
      for (size_t j = 1; j + 1 != n; ++j) {
         matrs[i][j] = (
                    matr[i - 1][  j  ]
                  + matr[i - 1][j - 1]
                  + matr[i - 1][j + 1]
                  + matr[  i  ][j - 1]
                  + matr[  i  ][j + 1]
                  + matr[i + 1][  j  ]
                  + matr[i + 1][j - 1]
                  + matr[i + 1][j + 1]
               ) / 8;
      }
  
   }for (i=0;i<n;i++)
    {
        for (j=0;j<n;j++)
            { 
            cout<<setw(2)<< setprecision (3) <<matrs[i][j]<<'\t';
            }
        cout<<endl;
    }
}
void sum(int matrs[][10], int n)
{int i;int j;
       int sum=0;int p;
    for (i=1;i<n;i++)
        for (j=0;j<n-(n-i);j++)
        { if ((matrs[i][j])<0)
            {
            p=matrs[i][j];
            matrs[i][j]=matrs[i][j]*(-1);
            sum+=matrs[i][j];
            matrs[i][j]=p;
            }
          else
            {
              sum+=matrs[i][j];
            }
        }
            
        cout<<"summa modulei elementov nije glavnoi diagonali sglajhenoy matrici : "<<setw(8)<<sum<<endl;
            
}
 
void main()
{
    const int n= 10; 
    int matr [n][n];
    int matrs[n][n]; 
    int i,j;
    for (i=0;i<n;i++)
        for (j=0;j<n;j++) 
        {
        
            cout << setw(4) << (matr[i][j] = rand() % 5-4)<<'\t';
        }
   cout<<endl; 
    sum(matr,n);
    sgl(matrs,n,matr);
}
Вот обновленный код, может я чего то не вижу?
gray_fox
What a waste!
 Аватар для gray_fox
1246 / 1129 / 54
Регистрация: 21.04.2012
Сообщений: 2,354
Завершенные тесты: 3
01.11.2012, 00:26     cannot convert parametr #12
Во-первых, в задании тип матрицы вещественный, а не int. Во-вторых, вот так вот, только с размером 4:
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
#include <iostream>
#include <iterator>
#include <algorithm>
 
 
void sgl(double matrs[][4], int n, double matr[][4])
{
matrs[0][0] = (
              matr[  0  ][  1  ]
            + matr[  1  ][  0  ]
            + matr[  1  ][  1  ]
         ) / 3;
   matrs[0][n - 1] = (
              matr[  0  ][n - 2]
            + matr[  1  ][n - 1]
            + matr[  1  ][n - 2]
         ) / 3;
   matrs[n - 1][0] = (
              matr[n - 2][  0  ]
            + matr[n - 1][  1  ]
            + matr[n - 2][  1  ]
         ) / 3;
   matrs[n - 1][n - 1] = (
              matr[n - 2][n - 1]
            + matr[n - 1][n - 2]
            + matr[n - 2][n - 2]
         ) /3;
   
   for (int i = 1; i + 1 != n; ++i) {
      matrs[0][i] = (
                 matr[  0  ][i - 1]
               + matr[  0  ][i + 1]
               + matr[  1  ][  i  ]
               + matr[  1  ][i - 1]
               + matr[  1  ][i + 1]
            ) / 5;
      matrs[n - 1][i] = (
                 matr[n - 1][i - 1]
               + matr[n - 1][i + 1]
               + matr[n - 2][  i  ]
               + matr[n - 2][i - 1]
               + matr[n - 2][i + 1]
            ) / 5;
      matrs[i][0] = (
                 matr[i - 1][  0  ]
               + matr[i + 1][  0  ]
               + matr[  i  ][  1  ]
               + matr[i - 1][  1  ]
               + matr[i + 1][  1  ]
            ) / 5;
      matrs[i][n - 1] = (
                 matr[i - 1][n - 1]
               + matr[i + 1][n - 1]
               + matr[  i  ][n - 2]
               + matr[i - 1][n - 2]
               + matr[i + 1][n - 2]
            ) / 5;
      
      for (int j = 1; j + 1 != n; ++j) {
         matrs[i][j] = (
                    matr[i - 1][  j  ]
                  + matr[i - 1][j - 1]
                  + matr[i - 1][j + 1]
                  + matr[  i  ][j - 1]
                  + matr[  i  ][j + 1]
                  + matr[i + 1][  j  ]
                  + matr[i + 1][j - 1]
                  + matr[i + 1][j + 1]
               ) / 8;
      }
   }
}
 
int main() {
   double matr[4][4] = {
      {1, 2, 3, 1},
      {4, 5, 6, 2},
      {7, 8, 9, 3},
      {4, 5, 6, 7}
   };
   double matrs[4][4];
   
   sgl(matrs, 4, matr);
   
   for (int i = 0; i != 4; ++i) {
      std::copy(&matrs[i][0], &matrs[i][0] + 4, std::ostream_iterator<double>(std::cout << std::fixed, " "));
      std::cout << std::endl;
   }
}
http://liveworkspace.org/code/82b794...c98f05ac55c00d
takewa
 Аватар для takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
01.11.2012, 00:29  [ТС]     cannot convert parametr #13
Цитата Сообщение от gray_fox Посмотреть сообщение
Во-первых, в задании тип матрицы double, а не int. Во-вторых, вот так вот, только с размером 4:

http://liveworkspace.org/code/82b794...c98f05ac55c00d
Да я смотрел Ваш код. Там все ок... А вот у меня чето не то

Добавлено через 1 минуту
Хвала небесам, я идиот, других слов нет Честн слово, спасибо ОГРОМНОЕ!!!
takewa
 Аватар для takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
07.11.2012, 22:32  [ТС]     cannot convert parametr #14
Я столкнулся с еще 1ой проблемой, программа не считает сумму сглаженной матрицы, а считает сумму введенной. Код, который мне переписали, не понятен, не могу сообразить, как заставить ее считать сумму.
takewa
 Аватар для takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
09.11.2012, 19:41  [ТС]     cannot convert parametr #15
ап темку
gray_fox
What a waste!
 Аватар для gray_fox
1246 / 1129 / 54
Регистрация: 21.04.2012
Сообщений: 2,354
Завершенные тесты: 3
09.11.2012, 21:05     cannot convert parametr #16
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
#include <iostream>
#include <iterator>
#include <algorithm>
#include <cmath>
 
 
void sgl(double matrs[][4], int n, double matr[][4])
{
matrs[0][0] = (
              matr[  0  ][  1  ]
            + matr[  1  ][  0  ]
            + matr[  1  ][  1  ]
         ) / 3;
   matrs[0][n - 1] = (
              matr[  0  ][n - 2]
            + matr[  1  ][n - 1]
            + matr[  1  ][n - 2]
         ) / 3;
   matrs[n - 1][0] = (
              matr[n - 2][  0  ]
            + matr[n - 1][  1  ]
            + matr[n - 2][  1  ]
         ) / 3;
   matrs[n - 1][n - 1] = (
              matr[n - 2][n - 1]
            + matr[n - 1][n - 2]
            + matr[n - 2][n - 2]
         ) /3;
   
   for (int i = 1; i + 1 != n; ++i) {
      matrs[0][i] = (
                 matr[  0  ][i - 1]
               + matr[  0  ][i + 1]
               + matr[  1  ][  i  ]
               + matr[  1  ][i - 1]
               + matr[  1  ][i + 1]
            ) / 5;
      matrs[n - 1][i] = (
                 matr[n - 1][i - 1]
               + matr[n - 1][i + 1]
               + matr[n - 2][  i  ]
               + matr[n - 2][i - 1]
               + matr[n - 2][i + 1]
            ) / 5;
      matrs[i][0] = (
                 matr[i - 1][  0  ]
               + matr[i + 1][  0  ]
               + matr[  i  ][  1  ]
               + matr[i - 1][  1  ]
               + matr[i + 1][  1  ]
            ) / 5;
      matrs[i][n - 1] = (
                 matr[i - 1][n - 1]
               + matr[i + 1][n - 1]
               + matr[  i  ][n - 2]
               + matr[i - 1][n - 2]
               + matr[i + 1][n - 2]
            ) / 5;
      
      for (int j = 1; j + 1 != n; ++j) {
         matrs[i][j] = (
                    matr[i - 1][  j  ]
                  + matr[i - 1][j - 1]
                  + matr[i - 1][j + 1]
                  + matr[  i  ][j - 1]
                  + matr[  i  ][j + 1]
                  + matr[i + 1][  j  ]
                  + matr[i + 1][j - 1]
                  + matr[i + 1][j + 1]
               ) / 8;
      }
   }
}
 
double summ_up(double matrix[][4], std::size_t n) {
   double accumulator = 0.;
   
   for (std::size_t i = 1; i != n; ++i) {
      for (std::size_t j = 0; j != i; ++j) {
         accumulator += std::abs(matrix[i][j]);
      }
   }
   
   return accumulator;
}
 
 
int main() {
   double matr[4][4] = {
      { 1, -2,  3, -1},
      {-4,  5, -6,  2},
      { 7, -8,  9, -3},
      {-4,  5, -6,  7}
   };
   double matrs[4][4];
   
   sgl(matrs, 4, matr);
   
   for (int i = 0; i != 4; ++i) {
      std::copy(&matrs[i][0], &matrs[i][0] + 4, std::ostream_iterator<double>(std::cout << std::fixed, "\t"));
      std::cout << std::endl;
   }
   
   std::cout << summ_up(matrs, 4) << std::endl;
}
http://liveworkspace.org/code/1e40f9...8472577273918c
takewa
 Аватар для takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
09.11.2012, 22:24  [ТС]     cannot convert parametr #17
Можно вопрос, меня кол-во знаков после запятой?
gray_fox
09.11.2012, 22:33
  #18

Не по теме:

Цитата Сообщение от takewa Посмотреть сообщение
меня кол-во знаков после запятой?
Чего?

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2012, 20:18     cannot convert parametr
Еще ссылки по теме:

C++ convert
Cannot convert 'void' to 'bool' C++
C++ Convert string to char
Type mismatch in parametr C++
C++ Error: cannot convert

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
takewa
 Аватар для takewa
10 / 7 / 1
Регистрация: 15.08.2010
Сообщений: 372
10.11.2012, 20:18  [ТС]     cannot convert parametr #19
Цитата Сообщение от gray_fox Посмотреть сообщение

Не по теме:


Чего?

0.333333 -0.200000 -0.400000 -0.333333
Не вижу setprecision
Yandex
Объявления
10.11.2012, 20:18     cannot convert parametr
Ответ Создать тему
Опции темы

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