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

C++ функции перестановка сумм положительных элементов столбцов - C++

Восстановить пароль Регистрация
 
Сашуля1
Сообщений: n/a
11.05.2011, 14:09     C++ функции перестановка сумм положительных элементов столбцов #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
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
#include "stdafx.h"
#include <conio.h>                                                         //для _getch()
#include <iostream>                                           //поток, для ввода и вывода
using namespace std;                                   //включает в программу определения
 
void max_el_str(int **matr, int n, int m);           //прототипы вспомогательных функциий
void perestanovka(int **matr, int q, int m, int max1, int max2);
 
 
int _tmain()                                                 //заголовок основной функции
{                                                                   //начало тела функции
 setlocale(LC_ALL, "Russian");
 int i,j, n, m, e;                                  //объявление переменных типа int
 int **matr;                                      //указатель для массива указателей
 cout<<" Ввод размера матрицы.\n Строк: ";
 cin>>n;                                            //ввод кол-ва строк с клавиатуры
 cout<<" Столбцов: ";
 cin>>m;                                         //ввод кол-ва столбцов с клавиатуры
 cout<<"\n";
 matr = new int *[n];                       //выделение памяти под массив указателей
 
 for(i=0; i<n; i++)                                    //цикл для заполнения матрицы
 {
       matr[i] = new int[m];                      //выделение памяти для массива значений
       for (j=0; j<m; j++)             
        {
   cout<<"["<<i<<"]["<<j<<"] = ";
    cin>>e;                                    //ввод значения элемента с клавиатуры
    matr[i][j] = e; 
     }
  }
 cout<<"\n\n Исходный вид матрицы: \n";
 for(i=0; i<n; i++)                               //цикл для вывода матрицы на экран
      {
        cout << "\n";
        for (j=0; j<m; j++)
         cout << "   " << matr[i][j];
      }
 
max_el_str(matr, n, m);                             //обращение к вспомогательной функции
cout<<"\n\n Вид матрицы после перестановки строк\n в порядке неубывания сумм положительных элементов строк:\n\n";
for(i=0; i<n; i++)                                     //цикл для вывода матрицы на экран
      {
        cout << "\n";
        for (j=0; j<m; j++)
         cout << "   " << matr[i][j];
      }
_getch();
return 0;
}                                                      //завершение тела основной функции
void max_el_str(int **matr, int n, int m)            //заголовок 1вспомагательной функции
{                                                                   //начало тела функции
 int sum1,sum2, q, i, j, S;                            //объявление переменных типа int
 
  for(i=0;i<n;i++)                 //цикл для поиска суммы положительных элементов каждой строки
     for(q=0;q<n-i-1;q++)
        {
 
      { if (i>0)
           for(S=i=0;i<m;i++)
           S+=matr[i][j];
      }
 
                sum1=matr[q][0];
                sum2=matr[q+1][0];
                for(j=0;j<m;j++)
                {
                        if(matr[q][j]>sum1)
                                sum1=matr[q][j];
                        if(matr[q+1][j]>sum2)
                                sum2=matr[q+1][j];
                }
            perestanovka(matr, q, m, sum1,sum2);//обращение к 2вспомагательной функции
        }
 
}                                              //завершение тела 1вспомогательной функции
 
 
 
 
void perestanovka(int **matr, int q, int m, int sum1, int sum2)   //заголовок  2вспомагательной функции
{                                                                   //начало тела функции
    int t,j;                                             //объявление переменных типа int
    if(sum1>=sum2)     //если сумма положительных элементов 1строки больше или равна сумме элементов 2строки,...
                        for(j=0;j<m;j++)                //...то эти строки переставляются
                        {
                                t=matr[q][j];
                                matr[q][j]=matr[q+1][j];
                                matr[q+1][j]=t;
                        }
}                                              //завершение тела 2вспомогательной функции
 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2011, 14:09     C++ функции перестановка сумм положительных элементов столбцов
Посмотрите здесь:

C++ Получить вектор сумм элементов нечетных столбцов матрицы
Массив. Вывод сумм значений отрицательных и индексов положительных элементов C++
Упорядочить строки матрицы по неубыванию сумм положительных элементов C++
C++ Записать в другой массив строку, составленную из сумм отрицательных элементов столбцов матрицы
C++ Двумерный массив среднее арифметическое элементов и сумм строк,столбцов
Сформировать массив сумм элементов столбцов матрицы (где ошибка?) C++
Отсортировать строки матрицы по возрастанию сумм положительных элементов C++
Отсортировать строки матрицы по возрастанию сумм положительных элементов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
11.05.2011, 14:12     C++ функции перестановка сумм положительных элементов столбцов #2
поменяйте местами индексы массива i и j
Сашуля1
Сообщений: n/a
11.05.2011, 14:46     C++ функции перестановка сумм положительных элементов столбцов #3
а m и n менять?
просто когда я переделывала, и меняла

cout<<"\n\n Вид матрицы после перестановки строк\n в порядке неубывания сумм положительных элементов строк:\n\n";

на

cout<<"\m\m Вид матрицы после перестановки столбцов\m в порядке неубывания сумм положительных элементов столбцов:\m\m"
именно на этом выдает ошибку

Добавлено через 27 минут
mimicria, а вы не могли бы мне помочь переделать код?я сама ничего не соображаю,серьезно
Yandex
Объявления
11.05.2011, 14:46     C++ функции перестановка сумм положительных элементов столбцов
Ответ Создать тему
Опции темы

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