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

Сортировка матрицы вставками и пузырьком - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Задание http://www.cyberforum.ru/cpp-beginners/thread167332.html
Здравствуйте! Очень нужна помощь, не могу разобратся Заранее спасибо!
C++ Локальные и динамические массивы Каждое задание выполнять в двух вариантах: используя локальные и динамические массивы. Размерности массивов вводить с клавиатуры. Задан массив А размером N на M. Массив A состоит из положительных и отрицательных чисел. Найти количество отрицательных и количество положительных элементов массива и подсчитать их суммы. http://www.cyberforum.ru/cpp-beginners/thread167328.html
C++ Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел
Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел (длина последовательности неограниченна). Ниже приведен рекомендуемый вид экрана во время выполнения профаммы (данные, введенные пользователем, выделены полужирным шрифтом). Определение максимального числа последовательности положительных чисел. Вводите после стрелки...
Как определить нижезадданный пример? C++
Определить удельный вес учащихся, имеющих оценки «неудовлетворительно» в общем количестве студентов по каждой специальности и в целом по университету.
C++ Вывести таблицу квадратов первых десяти целых положительных чисел http://www.cyberforum.ru/cpp-beginners/thread167306.html
Написать программу, которая выводит таблицу квадратов первых десяти целых положительных чисел.
C++ площадь треугольника, если известны координаты его углов. Введите координаты углов Напишите программу, которая вычисляет площадь треугольника, если известны координаты его углов. Введите координаты углов (числа разделяйте пробелом): xl,yl -> -2 5 х2,у2 -> 1 7 хЗ,уЗ -> 5 -3 Ответ:23.56 кв.см. подробнее

Показать сообщение отдельно
robert19
25 / 25 / 3
Регистрация: 26.03.2010
Сообщений: 305
20.09.2010, 13:11  [ТС]     Сортировка матрицы вставками и пузырьком
Вот посмотри, что получилось:
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 <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <limits>
#include <locale.h>
#include <iostream>
using namespace std;
 
int main() {
    setlocale(LC_ALL,"Russian");
    
    int n=5,m=5;
    char sim;
    //Заводим динамический массив
    char** mass = new char *[n];
        for(int i=0; i<n; i++){
            mass[i] = new char [m];
        }
        //Обнуляем его
        for (int i=0; i<n; i++) {
            for (int j=0; j<m; j++){
                mass[i][j]=0;
            }
        }
 
        char fn[255]; //Переменная для ввода имени файла
        FILE *f;
        cout <<"Введите имя файла:  ";
        cin >> fn; 
        f=fopen(fn,"r");
                if (!f){  //Если не открылся то ошибка
                    cout << "Error: Нет такого файла.\n";
                    return 1;
                }
 
                //Чтение из файла в массив
        for (int i=0; i<n; i++){
            for (int j=0; j<m; j++){
                fscanf(f,"%s",&mass[i][j]);
            }
        }
        fclose(f);
        cout <<endl;
 
        //Распечатываем на косоль то, что прочитали из файла
        cout <<"Не сортированный массив:"<< endl;
        for (int i=0; i<n; i++){
            for (int j=0; j<m; j++){
                cout <<    mass[i][j]<<'\t';
            }
            cout<<endl;
        }
        cout<<endl;
 
        //Сортировка Пузырьком
        for(int k=0; k<m; k++){
           for(int i=1; i<n; i++){
              for(int j=n-1; j>=i; j--){
                   if(mass[j-1][k]>mass[j][k]){
                     char t;
                     t=mass[j-1][k];
                     mass[j-1][k]=mass[j][k];
                     mass[j][k]=t;
                   }
              }
           }
        }cout<<endl;
 
        //Распечатываем на косоль Отсортированный массив
        cout<<"Отсортированный массив (пузырьком):"<<endl;
        for (int i=0; i<n; i++){
            for (int j=0; j<m; j++)
                cout<<mass[i][j]<<'\t';
            cout<<endl;
        }cout<<endl;
 
        //Сортировка вставками
        char t; 
        for (int k=0; k<m; k++){
            for (int i=1; i<n; i++){
                t=mass[i][k];
                for (int j=i-1; (j>=0)&&(t<mass[j][k]); j--){
                    mass[j+1][k]=mass[j][k];
                mass[j+1][k]=t;
                }
            }
        }
 
        //Распечатываем на косоль Отсортированный массив
        cout<<"Отсортированный массив (вставками):"<<endl;
        for (int i=0; i<n; i++){
            for (int j=0; j<m; j++)
                cout<<mass[i][j]<<'\t';
            cout<<endl;
        }
 
        //Удаление динамического массива
        for (int i=0; i<n; i++){
            delete [] mass[i];
        }
        delete [] mass;
        cout << "Press enter" << endl;
        cin.get();
        return 0;
}
 
Текущее время: 12:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru