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

Помогите плиз с алгоритмом проги (нужно отсортировать матрицу) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Надстрочный и подстрочный текст в DataGrid? http://www.cyberforum.ru/cpp-beginners/thread367960.html
Здравствуйте, уважаемые! Возможно ли писать в DataGrid надстрочый и подстрочный текст? Как это реализовать, если возможно? Спасибо!
C++ проверка кода на правильность Используя оператор цикла while с условием и постусловием, решить следующие задачу: найти сумму ряда с точностью е = 10-4, общий член которого An=1/((3n-2)(3n+1)). Проверьте пожалуйста на правильность код #include<iostream.h> #include<conio.h> #include<math.h> int main() { clrscr(); double e=0.0001; http://www.cyberforum.ru/cpp-beginners/thread367946.html
C++ Абстрактные классы наследия.
Ребят подскажите пожалуйста как мне написать чтобы в классе С виртуальные функции класса B заменялись функциями класса А. можно ли так сделать? class A{ void metod_1(){}; void metod_2(){}; void metod_3(){}; }; class B{ virtual void metod_1()=0;
Создание объектов в цикле! C++
Подскажите пожалуйста как в цикле создать несколько одинаковых объектов, но с разными именами, либо как-нибудь, чтобы можно было их пометить и в дальнейшем использовать в программе по отдельности, как минимум обрабатывать в цикле. Заранее благодарен.
C++ Метод хаффмана (Помогите адаптировать под задание) http://www.cyberforum.ru/cpp-beginners/thread367924.html
Может уже кто-то знаком с этим методом кодирования букв. Помогите адаптировать код представленный ниже к заданию (В задании другой язык, но исходный нужен С++) Скрины с заданием ниже кода. #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1;
C++ Помогите решить задачи по Абрамяну на for29, for30. Помогите решить задачи на for по Абрамяну на С++. for29, for30. Я сам чайник. Не шарю вообще. По специальности работать не собираюсь. Так что не надо говорить глупости. Прошу вас просто понять и помочь. Напишите код работающей программы. Надо на завтра Спасибо понимающим. подробнее

Показать сообщение отдельно
Валентин^_^
22 / 22 / 5
Регистрация: 15.10.2009
Сообщений: 160
18.10.2011, 22:41  [ТС]
В общем вот что получилась:

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
#include "stdafx.h"
#include <clocale>
#include <windows.h>
#include <iostream>
 
using namespace std;
 
void Sort(int k, int x[], int y[]); //ф-ия сортировки
 
int main()
{
    setlocale(LC_ALL, "russian");
 
    const int n = 6;
    const int m = 5;
    int mas[n][m] = { {1, 2, 3, 2, -66},
                    {-2, -1, 2, 1, -99},
                    {0, 7, 3, -4, -95},
                    {-1, -1, -10, -15, 1},
                    {0, 8, 9, 3, 2},
                    {1, 2, 3, 4, 0} };
 
    cout << "Исходная матрица:" << endl;
    for(int i = 0; i < n; i++, cout << endl)
        for(int j = 0; j < m; j++)
            cout << mas[i][j] << "\t";
 
 
    int haract[m] = {0, 0, 0, 0, 0}; //характеристика
 
    for(int j = 0; j < m; j++)
        for(int i = 1; i < n; i++)
            if((mas[i][j] < 0) && (mas[i][j] % 2 != 0))
                haract[j] += abs(mas[i][j]);
 
    int index[m] = {0, 1, 2, 3, 4}; //индексы столбцов
 
    int result[n][m]; //результирующая матрица
 
    Sort(m, haract, index); //отсортируем индексы столбцов с учетом хар-ик
 
    int ind;
    for(int j = 0; j < m; j++)
    {
       ind = index[j];
       for(int i = 0; i < n; i++)
           result[i][j] = mas[i][ind];
    }
 
    cout << endl << "Отсортированная матрица: " << endl;
        for(int i = 0; i < n; i++, cout << endl)
        for(int j = 0; j < m; j++)
            cout << result[i][j] << "\t";
 
    cout << endl << endl;
 
    system("PAUSE");
        return 0;
}
 
void Sort(int k, int x[], int y[]) 
{
    int buf;
 
    for(int i = k - 1; i > 0; i--)
        for(int j = 0; j < i; j++)
            if(x[j] > x[j + 1])
            {
                buf = x[j];
                x[j] = x[j + 1];
                x[j + 1] = buf;
 
                buf = y[j];
                                y[j] = y[j + 1];
                                y[j + 1] = buf;
            }
}
Прога работает правильно, спс всем=)

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