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

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

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

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

30.11.2011, 20:00. Просмотров 245. Ответов 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");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2011, 20:00     двухмерный массив
Посмотрите здесь:

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

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

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

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

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

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

Двухмерный массив - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;stdlib.h&gt; using namespace std; int main() { int *b; int...

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

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

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimcoder
Полярный
454 / 427 / 66
Регистрация: 11.09.2011
Сообщений: 1,129
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;
}
Будут вопросы по работе программы или если что-то не так работает, обращайтесь.
Yandex
Объявления
01.12.2011, 08:50     двухмерный массив
Ответ Создать тему
Опции темы

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