Как отсортировать по алфавиту в с
Перейти к содержимому

Как отсортировать по алфавиту в с

  • автор:

Как отсортировать по алфавиту в с

Здравствуйте! Помогите, пожалуйста. Задание:
1. Создать структуру Worker, которая содержит: ФИО, должность, год поступления на работу
2. Отсортировать список фамилий по алфавитному порядку и вывести на экран
3. Отсортировать людей по стажу, который вводится с клавиатуры
Нужна помощь — программа не сортирует по фамилиям
#include
#include
#include
#include
#include
#include

using namespace std;

int main()
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
// Локализация Русского, без него некорректно отображаются фамилии

int net, Num, i, r, j;
struct Worker
char WK[40]; // Фамилия и инициалы сотрудника
char HR[40]; // Должность
int mark; // Год поступления на работу
>;

Worker* box = new Worker[Num]; //выделение в памяти места под массив
Worker tmp;

// работает то, что ниже

Сортировка по алфавиту (с++)

Нужно отсортировать массив слов по алфавиту, (честно лазил, пытался вникнуть, но с указателями не дружу) Проблема в том, что я не могу понять как сравнить char в массиве строк (выдавал ошибку). Еще выдает ошибку Process finished with exit code -1073741819 (0xC0000005).

 #include #include using namespace std; int main() < char **mass = new char *[8]; for(int i = 0; i<7;i++) < mass[i] = new char[20]; cin >> mass[i]; > for(int i = 0 ; i < 7; i++)< for(int j = i+1; j < 8; i++) if(strcpy(mass[i], mass[j]) >0) < char* tmp = mass[i]; mass[i] = mass[j]; mass[j] = tmp; >> for(int i = 0; i < 8; i++)< cout return 0; > 

Как сделать сортировку массива по алфавиту js

Массив, который мы хотим отсортировать в алфавитном порядке:

const animals = ['elephant', 'Dog', 'CAT', 'cow', 'horse', 'Bird']; 

Рассмотрим два способа сортировки:

  • С помощью метода sort() (регистр букв не учитывается):
const sorted = animals.sort((a, b) =>  if (a.toLowerCase()  b.toLowerCase())  return -1; > if (a.toLowerCase() > b.toLowerCase())  return 1; > return 0; >); console.log(sorted); // => ['Bird', 'CAT', 'cow', 'Dog', 'elephant', 'horse'] 
  • С помощью методов sort() и localeCompare() :
const sorted = animals.sort((a, b) => a.localeCompare(b)); console.log(sorted); // => ['Bird', 'CAT', 'cow', 'Dog', 'elephant', 'horse'] 

21 октября 2021

Для сортировки массива строк используется метод sort() . Важно учитывать, что он изменяет исходный массив (используют также термин «мутирует»):

list = ["b", "a", "c"]; list.sort() console.log(list); // => ['a', 'b', 'c'] 

В sort() можно передавать также свою функцию для сравнения элементов массива. Без аргументов этот метод располагает строки в алфавитном порядке.

Сортировка строк по алфавиту. Как это подробно работает?

marlaaa, неправильно понял. j — это слова. Два вложенных цикла по словам — это сортировка пузырьком.

Как компилятор понимает какая буква больше?

Каждая буква представлена своим кодом. Обычно это ASCII-код. Больше та буква у которой больше код.
marlaaa @marlaaa Автор вопроса
jcmvbkbc, А зачем два цикла по словам?

зачем два цикла по словам?

marlaaa, потому что за один проход внутреннего цикла только один «пузырёк» (максимальное слово в неотсортированной части массива) «всплывает» (перемещается в конец, на своё окончательное место).
См, например, https://habr.com/ru/post/204600/

marlaaa @marlaaa Автор вопроса
jcmvbkbc, т.е когда мы сравниваем слова мы сравниваем и все буквы в слове по очереди?

когда мы сравниваем слова мы сравниваем и все буквы в слове по очереди?

marlaaa, да, до первой неравной пары. См.
Решения вопроса 0
Ответы на вопрос 0
Ваш ответ на вопрос

Войдите, чтобы написать ответ

cpp

  • C++

Как передать в аргумент функцию, и выполнить её, передаваю в неё параметры?

  • 1 подписчик
  • 9 часов назад
  • 79 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *