0 / 0 / 0
Регистрация: 20.03.2016
Сообщений: 5
1

Включить массив B как новую строчку матрицы А с сохранением упорядоченности

27.03.2016, 14:27. Показов 1106. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задано массив А(N;N) и вектор B(N). Элементы 1 столбика массива А упорядоченные по убыванию. Включить массив B как новую строчку в массив А с сохранением упорядоченности по элементам первого столбика. N=5
Помогите, вообще не шарю как делать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2016, 14:27
Ответы с готовыми решениями:

Включить новый элемент в массив, упорядоченный по возрастанию, с сохранением упорядоченности. (рандомный массив)
1) Включить новый элемент в массив, упорядоченный по возрастанию, с сохранением упорядоченности....

Включить элемент в список с сохранением упорядоченности исходного
Помогите пожайлуста решить задачу: Включить элемент в список с сохранением упорядоченности...

Цикл: Хочу вывести массив, но не просто в строчку, а после каждого 5 элемента перевести на новую строчку.
Всем привет! Хочу вывести массив, но не просто в строчку, а после каждого 5 элемента перевести на...

Вставить заданное число в упорядоченный по убыванию массив с сохранением упорядоченности
Просьба не использовать динамические массивы и векторы. Код написать понятным для новичков без...

4
181 / 47 / 33
Регистрация: 27.02.2016
Сообщений: 260
27.03.2016, 14:46 2
Т.е. получив матрицу A(6;5) нужно заново упорядочить по убыванию первый столбец?
0
0 / 0 / 0
Регистрация: 20.03.2016
Сообщений: 5
27.03.2016, 19:24  [ТС] 3
Да, так

Добавлено через 4 часа 28 минут
Вообще никак?
0
181 / 47 / 33
Регистрация: 27.02.2016
Сообщений: 260
27.03.2016, 21:03 4
Лучший ответ Сообщение было отмечено Pon4uk2142 как решение

Решение

Например, вот так:
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
#include "stdafx.h"
#include <iostream>
#include <time.h>
using namespace std;
 
void ArrSort(int *a, int len = 5);
 
int main() 
{
    int arr[6][5], vec[5];
    setlocale(LC_ALL, "rus");
    srand(time(NULL));
    cout << "Исходный массив: \n";
    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j < 5; j++)
        {
            arr[i][j] = rand() % 9 + 1;
            cout << arr[i][j] << " ";
        }
        cout << "\n";
    }
    cout << "Исходный вектор: \n";
    for (int i = 0; i < 5; i++)
    {
        vec[i] = rand() % 9 + 1;
        cout << vec[i] << " ";
    }
    cout << "\n";
    ArrSort(&arr[0][0], 25);
    cout << "Отсортированный массив с добавленной строкой: \n";
    for (int i = 0; i < 5; i++)
    {
        for (int j = 0; j < 5; j++)
        {
            cout << arr[i][j] << " ";
        }
        cout << "\n";
    }
    for (int i = 0; i < 5; i++)
    {
        arr[5][i] = vec[i];
        cout << arr[5][i] << " ";
    }
    ArrSort(&arr[0][0], 30);
    cout << "\n";
    cout << "Полученный массив: \n";
    for (int i = 0; i < 6; i++)
    {
        for (int j = 0; j < 5; j++)
        {
            cout << arr[i][j] << " ";
        }
        cout << "\n";
    }
    return 0;
}
 
void ArrSort(int *a, int len)
{
    for (int i = 0; i < len - 5; i = i + 5) {
        for (int j = 0; j < len - i - 5; j = j + 5) {
            if (a[j] < a[j + 5]) {
                int b = a[j];
                a[j] = a[j + 5];
                a[j + 5] = b;
            }
        }
    }
1
Модератор
Эксперт С++
13498 / 10752 / 6407
Регистрация: 18.12.2011
Сообщений: 28,692
27.03.2016, 21:44 5
Лучший ответ Сообщение было отмечено Pon4uk2142 как решение

Решение

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
#include <iostream>
 
using std::cin;
using std::cout;
using std::endl;
 
int main()
{
    int N=5;
    //cout<<"N=";
    //cin>>N; 
    int M=8;
    //cout<<"M=";
    //cin>>M; 
    int** a=new int*[N+1];
    for(int i=0;i<N;i++)
        a[i]=new int[M];
    for (int i=0; i<N; i++)
        for(int j=0; j<M; j++)
        {
            a[i][j]=rand()%100;
            //cin>>a[i][j];
        }
    cout<<"matrix A before sorting\n";
    for (int i=0; i<N; i++)
    {
        for (int j=0; j<M; j++)
            cout<<a[i][j]<<"\t"; 
        cout<<endl; 
    }
    for(int i=1;i<N;i++)
        for(int j=i;j>0;j--)
        {
            if(a[j-1][0]>a[j][0]) // Сортируем по значениям в 0 столбце
            {
                int* t=a[j];
                a[j]=a[j-1];
                a[j-1]=t;
            }
        }
    cout<<"matrix A after sorting\n";
    for (int i=0; i<N; i++)
    {
        for (int j=0; j<M; j++)
            cout<<a[i][j]<<"\t"; 
        cout<<endl; 
    }
 
    int* b=new int[M];
    cout<<"vector b:\n";
    for(int j=0; j<M; j++)
    {
        b[j]=rand()%100;
        //cin>>b[j];
        cout<<b[j]<<"\t";
    }
    cout<<endl; 
    int i=0;
    for ( ; i<N; i++) // ищем куда вставить
        if(a[i][0]>b[0])
            break;
    for (int j=N; j>i; --j) // сдвигаем строки вниз
        a[j]=a[j-1];
    a[i]=b;  // место для b освободилось
 
    N++; // массив стал на 1 строку длиннее
 
    cout<<"matrix A after inserting\n";
    for (int i=0; i<N; i++)
    {
        for (int j=0; j<M; j++)
            cout<<a[i][j]<<"\t"; 
        cout<<endl; 
    }
    for(int i=0;i<N;i++)
        delete[] a[i];
    delete[] a;
    // вектор b удалять не надо - он теперь часть a
    system ("pause");
    return 0;
}
1
27.03.2016, 21:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.03.2016, 21:44
Помогаю со студенческими работами здесь

Вставить в упорядоченный по возрастанию массив Х(10) новый элемент с сохранением упорядоченности
Помогите пожалуйста: 1.Заменить отрицательные элементы под главной диагональю матрицы А(5,5) их...

Включить элемент в упорядоченный по убыванию массив, не нарушая упорядоченности
Задан упорядоченный по убыванию массив F=F(i), i=1,2,...N. Включить число Z в массив F, не нарушая...

Даны два упорядоченных массива действительных чисел . Переписать числа из них в один массив с сохранением упорядоченности
Даны два упорядоченных массива действительных чисел . Переписать числа из них в один массив с...

Объединение списков с сохранением упорядоченности
Доброго времени суток, в институте дали задание: слить два упорядоченных списка в один, сохранив...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru