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

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

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

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

30.11.2011, 20:00. Просмотров 238. Ответов 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++
C++ двухмерный массив..
C++ Двухмерный массив.
двухмерный массив C++
C++ двухмерный массив
двухмерный массив C++
Двухмерный массив C++
C++ двухмерный массив
Двухмерный массив C++
C++ Двухмерный массив
Двухмерный массив C++
C++ Двухмерный массив

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimcoder
Полярный
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,116
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     двухмерный массив
Ответ Создать тему
Опции темы

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