Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
#1

двухмерный массив - C++

30.11.2011, 20:00. Просмотров 265. Ответов 1
Метки нет (Все метки)

помогите найти ошибку не знаю что то она не правильно вроде делает программа по заданию
Задание

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
73
74
75
76
77
78
79
80
81
82
#include <iostream>
#include <string>
#include <cstdlib>
#include <iomanip>;
using namespace std;
 
 
int main(void)
{
    
    int a[10][10]={{16,78,0,6,-29,19,-52,65,-88,51},
 
     {-79, -22,  32, -25, -62, -69,  -2, -59, -75,  89},
 
     { -87,  95, -22,  85, -49, -75,  76,  73, -59, -52},
 
     {  30,  49, -28, -48,   0,  57,  -6, -85,   0, -18},
 
     { -99, -21, -95,  64,  22,  -2,  69, -84,  -1, -71},
 
     { -25,  47,  72,  43,  15, -44,  44,  61,   4,  74},
 
     {  88, -61,   0, -64, -83,  97,   0,  90,  15,   8},
 
     { -54,  99,  73,  35, -67, -87,  85, -93, -70,  10},
 
     {  98,  58, -10, -29,  95,  62,  77,  89,  36, -32},
 
     {  78,  60, -79, -18,  30, -13, -34, -92,   1, -38}}
 
;
 
    int   i, j, j1; 
     double  dva, ras, summa;
      bool fl;
    setlocale(LC_ALL,"Russian");
    int v;
for(j=0; j<10-1; j++)
       for(j1=0; j1<10-1-j; j1++)
           {
                   ras=dva=0;
                 for(i=0; i<10; i++)
                   {
                           if(a[i][j1]<0 && a[i][j1]%2==-1)
                                   dva+=abs(a[i][j1]);
                           if(a[i][j1+1]<0 &&  a[i][j1+1]%2==-1)
                                   ras+=abs(a[i][j1+1]);
                   }
                   if(dva>ras)
                           for(i=0; i<10; i++)
                           {
                                   dva=a[i][j1];
                                   a[i][j1]=a[i][j1+1];
                                   a[i][j1+1]=dva;
                           }
           }
        cout<<"Novaya matrica"<<endl;
    for(i=0; i<10; i++)
        {
       for(j=0; j<10; j++)
           
          cout<<setw(5)<<a[i][j];
     
          cout<<endl;
        }
        cout<<endl;
 for(i=0; i<10; i++)
    {
         summa=0;
       
       for(j=0; j<10; j++)
           {
                   summa+=a[j][i];
                   if(a[j][i]<0)
                           fl=false;
           }
           cout<<"Stolbec"<<i+1;
                cout<<"Summa"<<summa<<endl;
              
 }
        system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2011, 20:00
Я подобрал для вас темы с готовыми решениями и ответами на вопрос двухмерный массив (C++):

Двухмерный массив - C++
Всем привет! Я хочу уверовать с++,но не получается. И меня постоянно преследует проклятье компилятора Visual Studio. Братья и...

двухмерный массив - C++
дан двухмерный массив n=m найти количество нулевых елементов которые находятся под побочной диагональю

двухмерный массив - C++
Помогите пожалуйста. Буду очень благодарен.

Двухмерный массив - C++
Задание , в двухмерном массиве поменять местами главную диагональ. #include&lt;iostream.h&gt; const int n=3,m=3; void InArray (float ); ...

двухмерный массив - C++
Сложить элементы двухмерного массива. Выполнить с помощью указателей. С Помощью указателей если сможете хелп

двухмерный массив.. - C++
ввести матрицу размером N* M.память массива выделить динамически.найти минимальный среди элементов,лежащих выше главной диоганали

1
dimcoder
Полярный
467 / 440 / 68
Регистрация: 11.09.2011
Сообщений: 1,142
01.12.2011, 08:50 #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
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.h>
#include <conio.h>
#include <iomanip.h>
 
void swap_rows(int (*a)[10], int s, int x, int x2, int *sum)
{
   for (int i = 0; i < s; i++)
   {
      int n = a[i][x];
      a[i][x] = a[i][x2];
      a[i][x2] = n;
   }
 
   int n = sum[x];
   sum[x] = sum[x2];
   sum[x2] = n;
}
 
 
main ()
{
   int a[10][10]={{16,78,0,6,-29,19,-52,65,-88,51},
 
     {-79, -22,  32, -25, -62, -69,  -2, -59, -75,  89},
 
     { -87,  95, -22,  85, -49, -75,  76,  73, -59, -52},
 
     {  30,  49, -28, -48,   0,  57,  -6, -85,   0, -18},
 
     { -99, -21, -95,  64,  22,  -2,  69, -84,  -1, -71},
 
     { -25,  47,  72,  43,  15, -44,  44,  61,   4,  74},
 
     {  88, -61,   0, -64, -83,  97,   0,  90,  15,   8},
 
     { -54,  99,  73,  35, -67, -87,  85, -93, -70,  10},
 
     {  98,  58, -10, -29,  95,  62,  77,  89,  36, -32},
 
     {  78,  60, -79, -18,  30, -13, -34, -92,   1, -38}};
 
   int sum[10];
 
   for (int i = 0; i < 10; i++)
   {
      sum[i] = 0;
      for (int j = 0; j < 10; j++)
      {
     if ((a[j][i] < 0) && ((a[j][i]%2) == -1))
        sum[i] = sum[i] - a[j][i];
      }
   }
 
 
 
   //Printing start
   cout << endl << endl;
 
   for (i = 0; i < 10; i++)
   {
      for (int j = 0; j < 10; j++)
     cout << setw(3) << a[i][j] << ' ';
      cout << endl;
   }
   //Printing end
 
 
   for (i = 0; i < 10; i++)
      cout << sum[i] << endl;
 
   cout << endl << endl;
 
   for (i = 0; i < 9; i++)
   {
      int min = i;
      for (int j = i+1; j < 10; j++)
      {
     if (sum[min] > sum[j])
        min = j;
      }
      if (i != min)
     swap_rows(a, 10, i, min, sum);
      cout << "swap row " << i+1 << " and " << min+1 << endl;
   }
 
   cout << endl << endl;
 
   //Printing start
   cout << endl << endl;
 
   for (i = 0; i < 10; i++)
   {
      for (int j = 0; j < 10; j++)
     cout << setw(3) << a[i][j] << ' ';
      cout << endl;
   }
   //Printing end
 
 
   getch();
 
   clrscr();
 
   return 0;
}
Будут вопросы по работе программы или если что-то не так работает, обращайтесь.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2011, 08:50
Привет! Вот еще темы с ответами:

Двухмерный массив. - C++
Помогите решить задачу на программе С++. Вот условие: Соседями элемента Aij в матрице назовем элементы Akl c i-1&lt;=k&lt;=i+1, j-1&lt;=1&lt;=j+1,...

Двухмерный массив - C++
Как в двухмерном массиве выделить, а точнее работать с элементами массива которые находятся до главной диагонали. Вопрос в том как сделать...

Двухмерный массив - C++
Здравствуйте, уважаемые форумчане. Прошу помощи: нужно вывести номер строки, в которой содержится самая длинная серия элементов.

Двухмерный массив - C++
#include &lt;iostream&gt; using namespace std; int main() { const int mAX_A =3; const int mAX_B=4; //Обязательно нужен...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru