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

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

31.08.2017, 22:37. Показов 1234. Ответов 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
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
31.08.2017, 22:41
выводим в процессе сортировки, а не после?
0
0 / 0 / 0
Регистрация: 03.09.2016
Сообщений: 17
31.08.2017, 22:52  [ТС]
Забыл написать, отсортировать = вывести в порядке возростания пробега, my bad

Добавлено через 7 минут
я скорее хочу уточнить процес сортировки, так как учтя ваше замечание получился полный бред в итоге
0
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
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
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru