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

Сортировка выбором - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Алгоритмизация http://www.cyberforum.ru/cpp-beginners/thread752490.html
Помогите пожалуйста!! Задан круг с центром в точке О(x0, y0) и радиусом R0 и точка А (x1, y1). Определить месторасположение точки по отношению к кругу (находится внутри круга, вне его или...
C++ На вход подается некоторое количество треугольных пирамид (координаты вершин). Отсортировать и вывести их по возрастанию объемов Л.Р. №4 Классы объектов. На вход подается некоторое количество треугольных пирамид (координаты вершин). Отсортировать и вывести их по возрастанию объемов. http://www.cyberforum.ru/cpp-beginners/thread752487.html
C++ Ориентированный направленный граф
Л.р.№3. Рекурсия. Вход: Ориентированный направленный граф. Нагрузка на вершинах; вершины А,B, числа C и D, найти пути из А в В, длина которого удовлетворяет уравнению С*Х+D=∑ i {Xi} (сумма...
Описать тип данных и функции для хранения и обработки следующих структур данных. Написать программу, демонстрирующую его возможности C++
Л.р.№2 Динамические структуры данных. Описать тип данных и функции для хранения и обработки следующих структур данных. Написать программу, демонстрирующую его возможности. Информационная часть...
C++ c++ шифрование http://www.cyberforum.ru/cpp-beginners/thread752472.html
Необходимо программно реализовать на языке C++ алгоритм шифра по Диффи – Хеллману с открытым ключом. Понятия не имею с чего начать. помогите пожалуйста
C++ Ориентированный направленный граф. Найти пути из A в B Л.Р.№3. Рекурсия. Вход: Ориентированный направленный граф. Нагрузка на вершинах; вершины А,B, числа C и D, найти пути из А в В, длина которого удовлетворяет уравнению С*Х+D=∑ i {Xi} (сумма... подробнее

Показать сообщение отдельно
Lotus34
5 / 6 / 1
Регистрация: 26.10.2012
Сообщений: 124
06.01.2013, 16:40  [ТС]
Цитата Сообщение от yoghurt92 Посмотреть сообщение
Вот подправил твою программу, второе задание сделал методом пузырька, уже вечер, мозги думать не хотят, думаю там уже сам сможешь, если нет, то пиши, помогу чем смогу

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
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <math.h>
#include <conio.h>
#include <windows.h>  
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int const n = 3;
    int mas[n][n], k, imax;
 
    cout << "Введите матрицу: \n";
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
        {
            cout << "Введите элемент[" << i+1 << "][" << j+1 << "]: ";
            cin >> mas[i][j];
        }
    }
 
    cout << "\n";
 
    cout << "Исходная матрица: \n";
    for(int i = 0; i < n; i++)
    {
        cout << "\n" << "\t";
        for(int j = 0; j < n; j++)
        {
            cout << setw(3) << setiosflags(ios::left) << mas[i][j] << " ";
        }
    }
 
    cout << "\n\nВведите число: ";
        cin >> k;
 
    int s;
    bool flag;
    for(int i = 0; i < n; i++)
    {   
        s = 0;
        flag = false;
        for(int j = 0; j < n; j++)
        {
            if(mas[i][j] == k)
            {    
                s++;
                if(s > 1)
                {
                    imax = i + 1;
                    flag = true;
                }
            }
        }
 
        if(flag == true)
            cout << "\nНомер строки: " << imax;
 
    }
 
    int t, g = 1;
    for(int j = 0, f = n-g; j < n; j++, f--)
    {
 
        for(int i = j+1, l = n-(g+1); i < n; i++, l--)
        {
            if(mas[f][j] < mas[l][i])
            {
                t = mas[l][i];
                mas[l][i] = mas[f][j];
                mas[f][j] = t;
            }
        }
 
        g++;
    }
 
    cout << "\nОтсортированная матрица:\n";
    for(int i = 0; i < n; i++)
    {
        cout << "\n" << "\t";
        for(int j = 0; j < n; j++)
        {
            cout << setw(3) << setiosflags(ios::left) << mas[i][j] << " ";
        }
    }
        
    cout << "\n\n";
    return 0;
}
Все более чем прекрасно выполнено, но можно ли использовать мой код просто вставив сортировку, и реально ли её реализовать без флагов? Или мой код изначально ошибочен?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru