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

НЕ могу упорядочить двумерный массив

21.10.2021, 22:03. Показов 1165. Ответов 12
Метки нет (Все метки)

Помогите
 Комментарий модератора 
П.5.18.Правил
Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.
Редактор формул внизу страницы
Вложения, ожидающие проверки
Тип файла: jpg IMG_20211021_215357.jpg
Тип файла: jpg IMG_20211021_215329.jpg
Тип файла: jpg IMG_20211021_215318.jpg
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.10.2021, 22:03
Ответы с готовыми решениями:

Упорядочить указанные элементы матрицы,двумерный массив
МОДИФИКАЦИЯ ДВУМЕРНЫХ МАССИВОВ Дана квадратная матрица целых чисел (nxn, где 1<=n<=10)...

Двумерный массив, сортировка выбором. Упорядочить столбцы по упаданию
Задача: Задать двумерный массив целых чисел m=5, n=6. Отсортировать столбцы в массиве по упаданию...

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

Двумерный массив. Упорядочить массив по невозрастанию элементов второго столбца
дан двумерный массив содержащий 4 строки и 4 столбца.Элементами массива являются вещественные...

Дан двумерный массив, содержащий 14 строк и 15 столбцов. Элементами массива являются целые числа. Упорядочить массив
Как решить в C# Windows Forms? В консольной не надо)

12
Yetty
21.10.2021, 22:08
  #2

Не по теме:

Ra1no, копируйте код в тему

0
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 70
21.10.2021, 22:19  [ТС] 3
Сейчас

Добавлено через 7 минут
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
#include <iostream>
#include <cmath>
#include <Windows.h>
#include <string>
 
 
using namespace std;
int main()
{
    const int ROWS = 4;
    const int COLS = 4;
    int arr[ROWS][COLS];  
    int t = 0, temp ,x, z;
 
    for (int i = 0; i < ROWS; i++)
    {
        for (int j = 0; j < COLS; j++)
        {
            arr[i][j] = rand() % 10;
        }
    }
 
 
    for (int i = 0; i < ROWS; i++)
    {
        for (int j = 0; j < COLS; j++)
        {
            cout << arr[i][j] << "\t";
        }
        cout << endl;
    }
    
 
    for (int x = 0; x < ROWS ; x++)
    {
        for (int z = 0; z < COLS ; z++)
 
        {
            if (arr[z][x] > arr[z][x+1]);
 
            {temp = arr[z][x];
            arr[z][x] = arr[z][x + 1];
            arr[z][x + 1] = temp;
 
            }
            
        }
        
    }
    cout << "Posle""\n\n\n" << endl;
    for (int i = 0; i < ROWS; i++)
    {
        for (int j = 0; j < COLS; j++)
        {
            cout << arr[ROWS][COLS];
 
        }
    }cout << "\n\n\n";
    system("pause");
    
}
Добавлено через 35 секунд
t лишняя не убрал просто

Добавлено через 1 минуту
Все добавил

Добавлено через 34 секунды
Все добавил
0
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 70
21.10.2021, 22:29  [ТС] 4
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
#include <iostream>
#include <cmath>
#include <Windows.h>
#include <string>
 
 
using namespace std;
int main()
{
    const int ROWS = 4;
    const int COLS = 4;
    int arr[ROWS][COLS];  
    int t = 0, temp ,x, z;
 
    for (int i = 0; i < ROWS; i++)
    {
        for (int j = 0; j < COLS; j++)
        {
            arr[i][j] = rand() % 10;
        }
    }
 
 
    for (int i = 0; i < ROWS; i++)
    {
        for (int j = 0; j < COLS; j++)
        {
            cout << arr[i][j] << "\t";
        }
        cout << endl;
    }
    
 
    for (int x = 0; x < ROWS ; x++)
    {
        for (int z = 0; z < COLS ; z++)
 
        {
            if (arr[z][x] > arr[z][x+1]);
 
            {temp = arr[z][x];
            arr[z][x] = arr[z][x + 1];
            arr[z][x + 1] = temp;
 
            }
            
        }
        
    }
    cout << "Posle""\n\n\n" << endl;
    for (int i = 0; i < ROWS; i++)
    {
        for (int j = 0; j < COLS; j++)
        {
            cout << arr[ROWS][COLS];
 
        }
    }cout << "\n\n\n";
    system("pause");
    
}
0
Yetty
21.10.2021, 22:39
  #5

Не по теме:

Ra1no, напишите оригинал условия задачи

0
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 70
21.10.2021, 22:41  [ТС] 6
Дана матрица размером NxM. Упорядочить ее строки по возрастанию их первых элементов.
Тут вообще такое , но я делаю для себя что бы разобраться , а потом это
0
618 / 306 / 92
Регистрация: 30.03.2021
Сообщений: 1,078
21.10.2021, 22:50 7
Ra1no,

Не по теме:

х+1 это выход за пределы массива

Цитата Сообщение от Ra1no Посмотреть сообщение
if (arr[z][x] > arr[z][x+1]);
можно сделать
for (int x = 0; x < (ROWS-1) ; x++)
for (int z = 0; z < (COLS-1) ; z++)
или
if (arr[z][x] > arr[z][x+1] && x<(ROWS-1));
я и сам по этим граблям ходил :)

0
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 70
21.10.2021, 22:57  [ТС] 8
еще С6385 ошибка
0
7415 / 5011 / 2889
Регистрация: 18.12.2017
Сообщений: 15,694
21.10.2021, 22:59 9
Лучший ответ Сообщение было отмечено Ra1no как решение

Решение

Цитата Сообщение от Ra1no Посмотреть сообщение
Дана матрица размером NxM. Упорядочить ее строки по возрастанию их первых элементов
для целочисленной матрицы:
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
#include <iostream>
#include <cstdlib>
#include <utility>
#include <ctime>
using namespace std;
 
int main()
{
    srand((int)time(0));
    int N, M;
    cout << "N="; cin >> N;
    cout << "M="; cin >>M;
    
        int **a = new int*[N];
      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()%9 + 1;        
            cout << a[i][j] << " ";    
        }               
        cout << "\n";
    }
    cout << "\n"; 
 
    for (int i = 1; i < N; i++)    
        for (int k = 0; k < N-i; k++)        
            if (a[k][0]>a[k+1][0])                 
                swap(a[k],a[k+1]);             
            
    for (int i = 0; i < N; ++i)
    {
        for (int j = 0; j < M; j++)        
        cout << a[i][j] << " ";        
        cout << "\n";
    }    
    
    for (int i = 0; i < N; i++)
    delete[] a[i];
    delete[] a;    
system("pause");
return 0;
}
1
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 70
21.10.2021, 23:14  [ТС] 10
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
#include <iostream>
#include <cmath>
#include <Windows.h>
#include <string>
 
 
using namespace std;
int main()
{
    const int ROWS = 3;
    const int COLS = 3;
    int arr[ROWS][COLS];  
    int temp ,x, z;
 
    for (int i = 0; i < ROWS; i++)
    {
        for (int j = 0; j < COLS; j++)
        {
            arr[i][j] = rand() % 10;
        }
    }
 
 
    for (int i = 0; i < ROWS; i++)
    {
        for (int j = 0; j < COLS; j++)
        {
            cout << arr[i][j] << "\t";
        }
        cout << endl;
    }
    
 
    for (int x = 0; x < (ROWS - 1); x++)
    {for (int z = 0; z < (COLS - 1); z++)
        
            if (arr[z][x] > arr[z][x + 1] && x < (ROWS - 1));
            }
    temp = arr[z][x];
    arr[z][x] = arr[z][x + 1];
    arr[z][x + 1] = temp;
        
        
 
{for (int j = 0; j < COLS; j++)
 
    cout << arr[ROWS][COLS];
 
 
}
    system("pause");
    
}
Добавлено через 6 минут
Спасибо, пойду разбираться

Добавлено через 3 минуты
а зачем ctime точнее для чего оно
0
618 / 306 / 92
Регистрация: 30.03.2021
Сообщений: 1,078
21.10.2021, 23:28 11
Цитата Сообщение от Ra1no Посмотреть сообщение
а зачем ctime точнее для чего оно
Цитата Сообщение от Yetty Посмотреть сообщение
srand((int)time(0));
чтобы рандом зависел от времени, иначе каждый раз при старте проги будет выдаваться одинаковый набор псевдослучайных значений в рандоме
0
0 / 0 / 0
Регистрация: 21.10.2021
Сообщений: 70
21.10.2021, 23:34  [ТС] 12
int **a = new int*[N];
А это типо указатель в указателе или что?

Добавлено через 23 секунды
Спасибо большое
0
618 / 306 / 92
Регистрация: 30.03.2021
Сообщений: 1,078
21.10.2021, 23:51 13
Цитата Сообщение от Ra1no Посмотреть сообщение
А это типо указатель в указателе или что?
Цитата Сообщение от Yetty Посмотреть сообщение
int **a = new int*[N];
...
a[i]=new int[M];
a[i]=new int[M] тут создается динамически массив типа инт, вернее указатель на него, то же что и int *i = new int[M];
и надо хранить этот массив в другом массиве (тоесть как я понимаю создается динамически двумерный массив, пусть меня поправят если я неправ)
поэтому создается динамический массив, содержащий указатели на массив типа инт
int **a = new int*[N];
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.10.2021, 23:51
Помогаю со студенческими работами здесь

Упорядочить двумерный массив
Доброго времени суток. возникла проблема с реализацией следующей задачи: Упорядочить двумерный...

Упорядочить двумерный массив
Создайте двумерный массив n×n. Упорядочить элементы столбцов массива по возрастанию.

Дан двумерный массив, содержащий 15 строк и 13 столбцов. Элементами массива являются вещественные числа. Упорядочить массив по неубыванию элементов вт
Дан двумерный массив, содержащий 15 строк и 13 столбцов. Элементами массива являются вещественные...

Дан двумерный массив содержащий 3 строки и 4 столбца. Элементами массива являются вещественные числа. Упорядочить массив по неубыванию элементов перв
Дан двумерный массив содержащий 3 строки и 4 столбца. Элементами массива являются вещественные...

Дан двумерный массив содержащий 3 строки и 4 столбца. Элементами массива являются вещественные числа. Упорядочить массив по неубыванию элементов перво
Дан двумерный массив содержащий 3 строки и 4 столбца. Элементами массива являются вещественные...


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

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

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