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

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

Войти
Регистрация
Восстановить пароль
 
Alex_Reilly
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 26
#1

Не получается кое-что - C++

24.12.2011, 23:54. Просмотров 353. Ответов 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
#include "stdafx.h"
#include <iostream>
#include <math.h> 
#include <stdio.h> 
#include <conio.h>
#include "Functions_Presentation.h"
using namespace std;
 
int find_characteristics(int **matrix, int m, int n, int* mas_sum[])
{              
        for(int j=0; j<n; j++)//Пуск цыкла который идёт по столбцам
                {
                int sum=0;
                for(int i=0; i<m; i++)//Пуск цыкла который идёт по строкам
                {
                        if(matrix[i][j]<0 && matrix[i][j]%2) //Проверка условия 
                        {
                        sum+=abs(matrix[i][j]);
                        }
                        cout<<"Characteristic is "<<sum<<endl;
                }
                }
        return 0; 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2011, 23:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не получается кое-что (C++):

подскажите по самоучителю кое что - C++
прочитал такой отрывок в интернете Другими полезными предопределенными константами (в данном случае лучше сказать переменными)...

Структура и кое-что не понятно... - C++
Имеется такая структура struct Person { std::string surname; unsigned int year; bool operator &lt; (const Person &amp;sg) ...

Массив и кое-что ещё - C++
Доброго дня. Не объясните мне пожалуйста что значит этот код? Здесь x задан макросом #define IX(i,j) ((i)+(N+2)*(j)) В частности что...

парни нужно кое-что добавить (нужно что бы эта программа вычисляла среднее арифметическое чисел) - C++
нужно что бы эта программа вычисляла среднее арифметическое чисел, общую сумму, максимальное и минимальлное я сделала, буду очень...

Что делать?(учу C++ и кое что ни понимаю может стоит начать с более "низких языков" например basic) - C++
Всем привет народ вот я учу C++ и кое что ни понимаю может стоит начать с более &quot;низких языков&quot; например basic?

Перевод из HEX в ASCII и ещё кое - что - C++
Народ, как строку в HEX типа 3A 30 31 30 36 перевести в ASCII типа :0106 ? А как наоборот? А самое интересное, как из HEX перевести...

2
valeriikozlov
Эксперт С++
4675 / 2501 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
25.12.2011, 04:45 #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
int find_characteristics(int **matrix, int m, int n)
{      
          int* mas_sum=new int[n], i, j;
          for(i=0; i<n; i++)
          {
            mas_sum[i]=0;
            for(j=0; j<m; j++)
              if(matrix[j][i]<0 && matrix[j][i]%2)
                mas_sum[i]+=abs(matrix[i][j]);
          }
          int i_min, tmp;
            
        for(j=0; j<n-1; j++)
        {
          i_min=j;
          for(i=j+1; i<n; i++)
              if(mas_sum[i]<mas_sum[i_min]) 
                i_min=i;
          for(i=0; i<m; i++)
          {
            tmp=matrix[i][j]; matrix[i][j]=matrix[i][i_min]; matrix[i][i_min]=tmp; }
         }  
        return 0; 
}
эта функция находит характеристику каждого столбца и меняет столбцы местами по мере возврастания характеристик, но ничего не выводит на экран.
Обратите внимание на изменение в параметрах, передаваемых в функцию.
1
Alex_Reilly
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 26
25.12.2011, 12:50  [ТС] #3
valeriikozlov, Спасибо огромнейшое, там я вывод всего чего хотел сам сделал))) Спасибо еще раз)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2011, 12:50
Привет! Вот еще темы с ответами:

Conversion from 'size_t' to 'int' и еще кое-что - C++
cout &lt;&lt; &quot;Vvedite slovo: &quot;; string word; cin &gt;&gt; word; char temp; int i; int j; for (j=0, i=word.size() -...

Ошибка в задаче не выводит на экран кое что - C++
Задача с классами, надо чтоб было 5 функций, они есть вот. А компилятор выводит только сокращение дробей, а надо чтоб и наибольший...

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

Обратная польская запись.Написал программу по алгоритму.Нужно кое-что изменить - C++
Преподаватель дал мне &quot;алгоритм&quot; и сказал написать программу по этому алгоритму. &quot;Алгоритм&quot;:Нам понадобится стек для переменных типа...


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

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

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