Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 01.04.2018
Сообщений: 11
1

Сортировка двумерного массива методом вставок по строкам

30.05.2018, 11:10. Просмотров 650. Ответов 3
Метки нет (Все метки)

Помогите, пожалуйста, переделать код для двумерного массива.
Думаю, что надо по сути надо добавить цикл, но не могу реализовать.
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
#include <iostream>
using namespace std;
void insertionSort(int *, int); 
int main() {
int array_1[] = {7, 3, 8, 2, 1, 5, 4};
for (int i=0; i<7; i++)
cout<<array_1[i];
cout<<endl;
insertionSort(array_1, 7); 
for (int i=0; i<7; i++)
cout<<array_1[i];
cout<<endl;
system("pause");
return 0;
}
 
void insertionSort(int *arrayPtr, int length) {
int temp, item; 
for (int i= 1; i < length; i++) {
temp = arrayPtr[i]; 
  item = i-1; 
while(item >= 0 && arrayPtr[item] > temp) {
arrayPtr[item + 1] = arrayPtr[item]; 
arrayPtr[item] = temp;
item--;
}}}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.05.2018, 11:10
Ответы с готовыми решениями:

Сортировка двумерного массива методом вставок
Создать программу, сортирующую методом вставок двумерный массив целых чисел. При этом самое...

Сортировка двумерного массива методом вставок с "конфеткой"
Доброго времени суток. Помогите разобраться со следующим заданием (в форуме С мне не помогли):...

Сортировка двумерного массива по строкам
Попытался отсортировать двумерный массив по строкам, но ничего не получилось. Вот код моей попытки...

Сортировка массива по убыванию элементов методом вставок
Отсортировать массив по убыванию элементов простыми вставками. Код неправильный, исправьте, если...

3
4422 / 3013 / 1836
Регистрация: 18.12.2017
Сообщений: 9,472
30.05.2018, 13:57 2
Oxico127, сформулируйте оригинал условия задачи
0
0 / 0 / 0
Регистрация: 01.04.2018
Сообщений: 11
30.05.2018, 14:24  [ТС] 3
Создать программу, сортирующую методом вставок двумерный мас-сив целых чисел. При этом самое маленькое число должно оказаться в пер-вом элементе первой строки, а самое большое в последнем элементе послед-ней строки. Массив считать из текстового файла, содержащего в первой строке кол-во строк и кол-во столбцов, а далее в каждой строке целые числа, соответствующие элементам строки массива, например,

1 2 3
2 3 4
3 4 5
0
1458 / 924 / 807
Регистрация: 30.04.2016
Сообщений: 3,184
08.07.2018, 17:04 4
Цитата Сообщение от Oxico127 Посмотреть сообщение
Создать программу, сортирующую методом вставок двумерный мас-сив целых чисел.
Здравствуйте! Держите решение:

Пример входных данных (файл input.txt);

3 4
3 4 5 6
0 0 9 8
4 5 6 7

Выходные данные (консоль):

0 0 3 4
4 5 5 6
6 7 8 9

Код программы:

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
#include <bits/stdc++.h>
 
    using namespace std;
 
int main() {
    ifstream fin("input.txt");
    if (fin) {
        int n, m, min, index;
        fin >> n >> m;
        int* a = new int[n*m];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                fin >> a[i*m+j];
            }
        }
        for (int i = 0; i < n * m; i++) {
            min = INT_MAX;
            for (int j = i; j < n * m; j++) {
                if (a[j] < min) {
                    min = a[j];
                    index = j;
                }
            }
            for (int j = index; j >= i; j--) {
                a[j] = a[j-1];
            }
            a[i] = min;
        }
        cout << "Target matrix:\n\n";
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                cout << a[i*m+j] << " ";
            }
            cout << "\n";
        }
        delete [] a;
        fin.close();
    } else {
        cout << "No file input.txt found!\n";
    }
    system("pause");
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.07.2018, 17:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Шаблонная функция: сортировка одномерного массива методом вставок
Написать шаблонную функцию, выполняет сортировку одномерного массива методом вставок....

Сортировка двумерного массива с датами методом вставок. Работает через раз
Не совсем пока вкурил этот метод... Задание - Первый столбец массива содержит номер года, второй -...

Сортировка двумерного массива по строкам и по столбцам (методом вставки, обмена и выбора)
Завтра зачёт по информатике я не знаю как сделать 3 программы помогите, вот условия: 1: это лаба...

Сортировка двумерного массива методом вставок с "конфеткой"
Доброго времени суток. Помогите разобраться со следующим заданием: Необходимо отсортировать...

Сортировка буквенного массива методом вставок
namespace ConsoleApplication1 { class Program { static void Main(string args) ...

Сортировка двумерного массива по строкам
Дан двумерный массив нужно посчитать сумму каждой строки и отсортировать строки матрицы по убыванию...


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

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

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