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

Отсортировать столбцы в двумерном массиве, основываясь на значениях одного из столбцов

31.08.2017, 22:37. Показов 1206. Ответов 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
#include <iostream>
#include <stdio.h>
using namespace std;
 
int main()
{ 
    typedef struct {
        char name[15];
        int pro;
        char color[7];
        int year;
    }car;
    car centr[4] = { {"Nissan",1000,"red",2008},
                    {"Subaru",15000,"blue",2015},
                    {"Lotus",40000,"black",2012},
                    {"Lada",25000,"grey",2001} };
    int i;
    printf("   марка       пробег       цвет   год\n");
    for (i = 0; i < 4; i++)
    {
            for (int j = 4 - 1; j > i; j--)
                if (centr[4].pro < centr[4 - i].pro)
                {
                    int tmp = centr[4].pro;
                    centr[4].pro = centr[4-i].pro;
                    centr[4 - i].pro = tmp;
                }
        
        printf("%15s\t%6d\t\t%8d\t%8d",
            centr[i].name, centr[i].pro, centr[i].color, centr[i].year);
        printf("\n");
    }
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.08.2017, 22:37
Ответы с готовыми решениями:

Отсортировать в двумерном массиве четные столбцы по возрастанию
Отсортировать в двумерном массиве целых случайных числе четные столбцы по возрастанию .Можно Использовать любой метод сортировки

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

В двумерном массиве столбцы поставить в порядке возрастания максимальных элементов столбцов
program lab9; const n=4; m=4; var a:array of real; max:array of real; i,j,k,l:integer; v:real; f:text; begin

7
1615 / 1181 / 552
Регистрация: 08.01.2012
Сообщений: 4,558
31.08.2017, 22:41
выводим в процессе сортировки, а не после?
0
0 / 0 / 0
Регистрация: 03.09.2016
Сообщений: 17
31.08.2017, 22:52  [ТС]
Забыл написать, отсортировать = вывести в порядке возростания пробега, my bad

Добавлено через 7 минут
я скорее хочу уточнить процес сортировки, так как учтя ваше замечание получился полный бред в итоге
0
1615 / 1181 / 552
Регистрация: 08.01.2012
Сообщений: 4,558
31.08.2017, 22:55
а до этого бреда не было? сравнивать/менять надо [i] [j], а не то безобразие
0
0 / 0 / 0
Регистрация: 03.09.2016
Сообщений: 17
31.08.2017, 23:35  [ТС]
Бред естественно был. Просто уточнил что хотел бы узнать)

Добавлено через 4 минуты
C++
1
2
3
4
for (int j = i - 1; j > i; j--)
                if (centr[i].pro < centr[i+1].pro)
                {
                    int tmp = car[i][j];
встал вопрос с тем как обозначить сам массив: и centr, и car подчеркивает и выдает ошибку
0
Рэмбо комнатный
 Аватар для GeFacle
103 / 103 / 99
Регистрация: 05.03.2017
Сообщений: 511
31.08.2017, 23:42
Лучший ответ Сообщение было отмечено legoroll как решение

Решение

Цитата Сообщение от legoroll Посмотреть сообщение
int tmp = car[i][j];
тут ты хочешь присвоить целочисленной переменной значение переменной типа car ?????

Добавлено через 3 минуты
а вообще вот тебе сортировка:
C++
1
2
3
4
5
6
7
8
9
10
for ( unsigned int i = 0 ; i < 4 - 1 ; i++ )
{
   for ( unsigned int j = i + 1 ; j < 4 ; j++ )
   {
      if ( centr[i].pro > centr[j].pro )
      { 
         swap(centr[i],centr[j]);
      }
   }
}
1
0 / 0 / 0
Регистрация: 03.09.2016
Сообщений: 17
01.09.2017, 00:22  [ТС]
Благодарю, даже не знал о существовании функции свап, да и с массивами этими помогли)
0
Рэмбо комнатный
 Аватар для GeFacle
103 / 103 / 99
Регистрация: 05.03.2017
Сообщений: 511
01.09.2017, 00:30
legoroll, ну можно и без него
C++
1
2
3
car temp=centr[i];
centr[i]=centr[j];
centr[j]=temp;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.09.2017, 00:30
Помогаю со студенческими работами здесь

Отсортировать столбцы в двумерном массиве по значению элементов первой строки методом Шелла
Подскажите пожалуйста как отсортировать столбцы в двумерном массиве по значению элементов первой строки методом Шелла! Я сделал...

В двумерном массиве отсортировать по убыванию элементы четных столбцов
1.Вычислить одномерный массив А, каждый элемент которого равен полусумме соответствующих элементов одномерных массивов В и С. 2.В...

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

Не меняются столбцы в двумерном массиве
Задача обменять 1 и 2 строку двумерного массива местами, и обменять столбцы с наибольшим и наименьшим элементом массива. Строки норм...

Обнулить столбцы в двумерном массиве
нужно чтобы обнуляло все столбцы, а обнуляет только один, как сделать? namespace task5 { class Program { ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru