Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
АлексийЦН
0 / 0 / 0
Регистрация: 19.03.2017
Сообщений: 2
#1

Упорядочить строки массива T(9,7) по возрастанию первых элементов строк. Массив ввести из файла - C++

19.03.2017, 01:06. Просмотров 190. Ответов 2

Массив, довольно прост, но мой уровень, пока только "конвертер величин"

Сам массив:
1 1 1 1 1 2 3
http://www.cyberforum.ru/cpp-beginners/thread1736826.html
5 6 9 7 4 5 6
3 2 3 6 4 4 7
4 5 6 9 8 7 1
7 5 6 2 1 7 4
8 5 4 7 8 2 1
2 4 5 8 7 5 6
9 6 9 3 4 7 1
0 5 8 7 8 7 4

То,что предстоит написание кода с #include <fstream> и, а последствии с ifstream f("array.txt") мне тоже ясно. Но пока что опыт отсутствует. А сдавать работу скоро. Буду благодарен за помощь в решении вопроса и за советы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2017, 01:06
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Упорядочить строки массива T(9,7) по возрастанию первых элементов строк. Массив ввести из файла (C++):

Массив: Разместить строки матрицы по возрастанию значений первых элементов строк.
Можете помочь с таким заданием: Вообще не представляю, как это сделать и...

Упорядочить строки матрицы по возрастанию их первых элементов
очень срочно на завтра нужен код этой задачи. &quot; дана матрица размером NxM...

Упорядочить строки матрицы по возрастанию их первых элементов
В работе память для массива должна выделяться динамически. На экран выводить...

Упорядочить строки матрицы по возрастанию их первых элементов
Задана матрица целых чисел. Упорядочить ее строки по возрастанию их первых...

Упорядочить элементы строк матрицы по возрастанию, а сами строки по возрастанию суммы элементов
Дана матрица Х. Упорядочить элементы строк матрицы по возрастанию, а сами...

2
nmcf
6237 / 5549 / 2524
Регистрация: 14.04.2014
Сообщений: 23,331
19.03.2017, 11:10 #2
Возьми любой алгоритм сортировки и сортируй по первым элементам строк, но перестановку делай строк целиком.
1
АлексийЦН
0 / 0 / 0
Регистрация: 19.03.2017
Сообщений: 2
02.04.2017, 21:25  [ТС] #3
В общем, победа выглядела вот так:
C++ (Qt)
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
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");                      // для отображения информации на рус.языке
    const int m = 9, n = 7;                            // объявляем константные значения строк и столбцовs
    int T[m][n], a, b, i, j;                           // объвлем массив T, размерностью n на m, и остальные переменные           
    ifstream masiv("array.txt");                       // объявляем переменную "masiv" и считываем в неё массив из файла
    for (int i = 0; i < m; ++i)                        // начинаем цикл для придания считанному массиву вида 9 на 7 
    {
        for (int j = 0; j < n; ++j) 
        {
            masiv >> T[i][j];
            cout << T[i][j] << ' ';
        }
        cout <<'\n';
    }
    printf("    \n");                                   // выводим полученный массив на экран
    cout << "Для выполнения преобразования";
    cout << " массива нажмите ENTER\n";
    cin.get();
                                                        // приступаем к сортировке пузырьковым методом
    for (b = 0; b < m - 1; b++)                         //запускаем цикл по массиву "T"
    {
        for (i = 0; i < m - 1 ; i++)                    //сверяем текущий первый элемент со следующим и 
        {                                               //если текущий больше - следует поменять их местами
            if (T[i][0] > T[i + 1][0])                  
            {
                for (j = 0; j < n; j++)                   
                {
                    a = T[i][j];                        // присваиваем текущее значение "T" переменной "a"
                    T[i][j] = T[i+1][j];                // текущему значению "T" присваеваем следующее
                    T[i+1][j] = a;                      //следующему значению "T" присваиваем предыдущее значение которое хранится в переменной "a"
                }
            }
        }
    }
    for (i = 0; i < m; i++)                              // запускаем цикл, который отобразит результат       
    {
        for (j = 0; j < n; j++) 
        {
            cout << T[i][j] << ' ';                       // выводим массив, который был получен в результате сортировки       
        }
        cout << '\n';
    }
    cout << endl;                                         // это не обязательно, больше для придания эстетичности, отображаемой программе.
    system("pause");                                      
    return 0;
}
Уверен, что найдутся те, кому зададут подобное по информатике.
Оптимизация приветствуется !!!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.04.2017, 21:25
Привет! Вот еще темы с решениями:

В двухмерном динамическом массиве упорядочить строки по возрастанию первых элементов
В матрице размером N на M упорядочить строки по возрастанию их первых...

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

Упорядочить строки матрицы по возрастанию последних элементов строк
Всем здрасти.Помогите с лабами пожалуйста. 1)Разработать программу, которая...

Упорядочить строки матрицы по возрастанию значений самых больших элементов строк
Здравствуйте. Имеется задание: Дано действительную матрицу размером m x n....


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

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

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