Форум программистов, компьютерный форум 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 ... подробнее

Показать сообщение отдельно
robert19
26 / 26 / 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;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru