Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 03.09.2014
Сообщений: 87

Сортировка только первой строки матрицы

03.09.2014, 19:42. Показов 1346. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вообщем есть масcив A[N][M]. Нужно отсортировать ТОЛЬКО ПЕРВУЮ строку массива.
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
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "RUS");
    int i, j, N, M, a[20][20];
    cout << "Enter number of rows. N="; 
    cin >> N;
    cout << "Enter number of columns. M="; 
    cin >> M;
    cout << "Enter array elements: \n";
    
    for (i = 0; i < N; i++)
        
    for (j = 0; j < M; j++)
        cin >> a[i][j]; 
    cout << "-------------------------" << endl;
    cout << "Your array A: \n";
    cout << "-------------------------" << endl;
    for (i = 0; i < N; i++)
    {
        
        for (j = 0; j < M; j++)
            cout << a[i][j] << "\t"; 
        cout << endl; 
    }
    cout << "-------------------------" << endl;
 
    system("pause");
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.09.2014, 19:42
Ответы с готовыми решениями:

Вывести номер первой строки матрицы, что содержит только положительные элементы
Дано матрицу размером 5 x 10. Вывести номер ее первой строки, что содержит только положительные элементы. Если таких строк нет, то...

Определить, что все элементы строки первой матрицы больше соответствующих элементов строки второй матрицы
Помогите,пожалуйста,с решением массивов в с++.надо в статическом и динамическом варианте. Даны две целочисленные квадратные матрицы...

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

15
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
03.09.2014, 19:55
Цитата Сообщение от GetLucky Посмотреть сообщение
Нужно отсортировать ТОЛЬКО ПЕРВУЮ строку массива.
Пробуйте:
C++
1
sort(a[0],a[0]+N);
0
0 / 0 / 1
Регистрация: 03.09.2014
Сообщений: 87
03.09.2014, 19:59  [ТС]
S_el, это куда вставить? а в вывод тогда что?
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
03.09.2014, 20:33
Цитата Сообщение от GetLucky Посмотреть сообщение
S_el, это куда вставить? а в вывод тогда что?
вывод как раньше,вставить туда,где нужно провести сортировку.
0
 Аватар для orange_fox
34 / 34 / 8
Регистрация: 06.04.2014
Сообщений: 189
03.09.2014, 20:33
Цитата Сообщение от GetLucky Посмотреть сообщение
это куда вставить? а в вывод тогда что?
В функцию main(). Это отсортирует первую строку массива. И не забудьте подключить
C++
1
#include <algorithm>
для std::sort
0
0 / 0 / 1
Регистрация: 03.09.2014
Сообщений: 87
03.09.2014, 20:45  [ТС]
S_el, orange_fox, сделал вот так. Выдает какое-то непонятное число. Что не так сделал?
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
#include <iostream>
 
#include <algorithm>
 
using namespace std;
int main()
{
    setlocale(LC_ALL, "RUS");
    int i, j, N, M, a[20][20];
    cout << "Enter number of rows. N="; //ввод количества строк
    cin >> N;
    cout << "Enter number of columns. M="; //ввод количества столбцов
    cin >> M;
    cout << "Enter array elements: \n";
    //цикл по переменной i, в которой перебираем строки матрицы
    for (i = 0; i < N; i++)
        //цикл по переменной j, в котором перебираем элементы внутри строки
    for (j = 0; j < M; j++)
        cin >> a[i][j]; //ввод очередного элемента матрицы
    cout << "-------------------------" << endl;
    cout << "Your array A: \n";
    cout << "-------------------------" << endl;
    for (i = 0; i < N; i++)
    {
        //цикл по переменной i, в котором перебираем строки матрицы
        for (j = 0; j < M; j++)
            cout << a[i][j] << "\t"; //вывод очередного элемента матрицы
        cout << endl; //переход на новую строку после вывода всех элементов строки
    }
    cout << "-------------------------" << endl;
 
    sort(a[0], a[0] + N);
cout << a[i][j];
 
 
    system("pause");
    return 0;
}
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
03.09.2014, 20:50
В строках 20-30 написан вывод массива.
Так почему же повторно вы его выводите неправильно (строка 33)?????????????
0
0 / 0 / 1
Регистрация: 03.09.2014
Сообщений: 87
03.09.2014, 20:53  [ТС]
zss, извините, только учусь)
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 <algorithm>
 
using namespace std;
int main()
{
    setlocale(LC_ALL, "RUS");
    int i, j, N, M, a[20][20];
    cout << "Enter number of rows. N="; //ввод количества строк
    cin >> N;
    cout << "Enter number of columns. M="; //ввод количества столбцов
    cin >> M;
    cout << "Enter array elements: \n";
    //цикл по переменной i, в которой перебираем строки матрицы
    for (i = 0; i < N; i++)
        //цикл по переменной j, в котором перебираем элементы внутри строки
    for (j = 0; j < M; j++)
        cin >> a[i][j]; //ввод очередного элемента матрицы
    cout << "-------------------------" << endl;
    cout << "Your array A: \n";
    cout << "-------------------------" << endl;
    for (i = 0; i < N; i++)
    {
        //цикл по переменной i, в котором перебираем строки матрицы
        for (j = 0; j < M; j++)
            cout << a[i][j] << "\t"; //вывод очередного элемента матрицы
        cout << endl; //переход на новую строку после вывода всех элементов строки
    }
    cout << "-------------------------" << endl;
 
    for (i = 0; i < N; i++)
    {
        sort(a[0], a[0] + N);
 
        //цикл по переменной i, в котором перебираем строки матрицы
        for (j = 0; j < M; j++)
            cout << a[i][j] << "\t"; //вывод очередного элемента матрицы
        cout << endl; //переход на новую строку после вывода всех элементов строки
    }
    cout << "-------------------------" << endl;
 
 
    system("pause");
    return 0;
}
Вот так правильнее? Но опять же вывод некорректный.
Миниатюры
Сортировка только первой строки матрицы  
0
0 / 0 / 1
Регистрация: 03.09.2014
Сообщений: 87
03.09.2014, 20:55  [ТС]
только сейчас заметил, что не указал, что нужно отсортировать по возрастанию.
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
03.09.2014, 20:59
Сначала sort, а потом вывод
C++
1
2
3
4
5
6
7
8
    sort(a[0], a[0] + N);
 
    for (i = 0; i < N; i++)
    {
         for (j = 0; j < M; j++)
            cout << a[i][j] << "\t"; //вывод очередного элемента матрицы
        cout << endl; //переход на новую строку после вывода всех элементов строки
    }
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
03.09.2014, 20:59
GetLucky,
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 <algorithm>
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "RUS");
    int i, j, N, M, a[20][20];
    cout << "Enter number of rows. N="; 
    cin >> N;
    cout << "Enter number of columns. M="; 
    cin >> M;
    cout << "Enter array elements: \n";
    
    for (i = 0; i < N; i++)
        
    for (j = 0; j < M; j++)
        cin >> a[i][j]; 
    
    cout << "-------------------------" << endl;
    cout << "Your array A: \n";
    cout << "-------------------------" << endl;
    for (i = 0; i < N; i++)
    {
    for (j = 0; j < M; j++)
            cout << a[i][j] << "\t"; 
        cout << endl; 
    }
    sort(a[0],a[0]+M);
        cout << "-------------------------" << endl;
    cout << "Your array A: \n";
    cout << "-------------------------" << endl;
    for (i = 0; i < N; i++)
    {
    for (j = 0; j < M; j++)
            cout << a[i][j] << "\t"; 
        cout << endl; 
    }
 
    cout << "-------------------------" << endl;
 
    system("pause");
    return 0;
}
1
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
03.09.2014, 21:01
Это я в первый раз допустил опечатку и дальше всех сбил.Надо прибавлять количество столбцов,т.е M
0
0 / 0 / 1
Регистрация: 03.09.2014
Сообщений: 87
03.09.2014, 21:03  [ТС]
S_el, ааа. Теперь до меня дошло) Большое спасибо, теперь понял.
А можно как-то посчитать средн. арифм. столбцов? Не могу понять как это организовать если массив динамический.
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
03.09.2014, 21:14
GetLucky, правила форума -> 1 вопрос,1 тема.
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
03.09.2014, 21:24
Среднеарифметическое j-Го столбца
C++
1
2
3
4
double s=0;
for (i = 0; i < N; i++)
  s+=a[i][j];
s/=N;
0
0 / 0 / 1
Регистрация: 03.09.2014
Сообщений: 87
03.09.2014, 21:31  [ТС]
zss, вот здесь подробное задание.
Подсчитать среднее арифметическое элементов каждого столбца матрицы и ввести все это в одномерный массив
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.09.2014, 21:31
Помогаю со студенческими работами здесь

умножением элементов каждой строки первой матрицы на наибольший из элементов соответствующей строки второй матрицы
получить новую матрицу умножением элементов каждой строки первой матрицы на наибольший из элементов соответствующей строки второй...

Указать номер строки, максимально удаленной от первой строки заданной матрицы
Задание: Расстояние между k-й и 1-й строками квадратной матрицы А опеределяется как r = сумма от j=1 до N от (abs(akj)*abs(a1j)). Указать...

Найти номер строки матрицы, наиболее отдаленный от первой строки
И опять и снова. Я так понимаю необходимо подключение библиотеки &lt;cmath&gt;,чтобы реализовать формулу? Помогите пожалуйста. Я конечно...

Сортировка столбцов матрицы по порядку возрастания элементов первой строки
отсортировать столбцы матрицы по порядку возростанию элементов первой строки. проверьте правильность работы этой программы пожалуйста,...

Вывести номер первой строки матрицы, содержащей только положительные элементы
Дана матрица размера n×m. Вывести номер ее первой строки , содержащего только положительные элементы. Если таких строки нет, то вывести 0 ...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru