Студопедия — Пример работы программы. К задаче 1 добавить сортировку по любому выбранному полю
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Пример работы программы. К задаче 1 добавить сортировку по любому выбранному полю






Задача 4

Задание

К задаче 1 добавить сортировку по любому выбранному полю.

 

Неформализованное описание алгоритма

1)Создаем 2 строки длиной равной длине полей в структуре.

2)По методу пузырька через два цикла сортируем по нужному полю.

Код программы на языке СИ

БСА Программа на СИ
  #include "string.h"   void sort_records(record mas[], int k, int top) { char str1[30], str2[30]; for (int j = 0; j < top - 1; j++) { for (int i = 0; i < top - j - 1; i++) { if (k == 1) { *str1 = *mas[i].family; *str2 = *mas[i + 1].family; } else if (k == 2) { *str1 = *mas[i].name; *str2 = *mas[i + 1].name; } else if (k == 3) { *str1 = *mas[i].surname; *str2 = *mas[i + 1].surname; } if (strcmp(str1, str2)>0) { struct record b; b.number = mas[i].number; *b.family = *mas[i].family; *b.name = *mas[i].name; *b.surname = *mas[i].surname; *b.phone = *mas[i].phone; mas[i].number = mas[i + 1].number; *mas[i].family = *mas[i + 1].family; *mas[i].name = *mas[i + 1].name; *mas[i].surname = *mas[i + 1].surname; *mas[i].phone = *mas[i + 1].phone; mas[i + 1].number = b.number; *mas[i + 1].family = *b.family; *mas[i + 1].name = *b.name; *mas[i + 1].surname = *b.surname; *mas[i + 1].phone = *b.phone; } } } } Вызов в main: if (action == 4) { printf("Введите 1 для сортировки по фамилии,2 по имени,3 по отчеству.\n"); scanf_s("%i", &k); sort_records(mas, k, top); }

 







Дата добавления: 2015-06-15; просмотров: 342. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей: - трещину в корпусе автосцепки, излом деталей механизма...

Понятие метода в психологии. Классификация методов психологии и их характеристика Метод – это путь, способ познания, посредством которого познается предмет науки (С...

ЛЕКАРСТВЕННЫЕ ФОРМЫ ДЛЯ ИНЪЕКЦИЙ К лекарственным формам для инъекций относятся водные, спиртовые и масляные растворы, суспензии, эмульсии, ново­галеновые препараты, жидкие органопрепараты и жидкие экс­тракты, а также порошки и таблетки для имплантации...

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия