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

Сделайте сортировку имён файлов по алфавиту

18.03.2023, 18:39. Показов 502. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разработать классы для описанных ниже объектов. Включить в класс методы set (…), get (…), show (…). Определить другие методы.
File: Имя файла, Размер, Дата создания, Количество обращений. Создать массив объектов. Вывести:
а) список файлов, упорядоченный в алфавитном порядке;
б) список файлов, размер которых превышает заданный;
в) список файлов, число обращений к которым превышает заданное.


код:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <iostream>
#include <conio.h> 
#include <string.h> 
#include <Windows.h>
using namespace std;
struct date // дата создания 
{
    char daymon[6];
    int year;
};
//=======     class File    =================    
class File {
    date t;
    int size;
    int appeal;
public:
    string name;
    File();
    int getappeal();
    int getsize();
    void show();
    int getyear();
};
File::File()
{
    cout << "Введите имя файла:";
    cin >> name;
    cout << "Введите дату создания файла:\n";
    cout << "день.месяц:";
    cin >> t.daymon;
    cout << "Год:";
    cin >> t.year;
    cout << "Введите размер файла:";
    cin >> size;
    cout << "Введите количество обращений к файлу:";
    cin >> appeal;
}
void File::show()
{
    cout << "Имя:  " << name << endl;
    cout << "Дата создания:  " << t.daymon << '.' << t.year << endl;
    cout << "Размер файла:  " << size << endl;
    cout << "Количество обращений:  " << appeal << endl;
}
int File::getappeal() { return appeal; }
int File::getsize() { return size; }
int File::getyear() { return t.year; }
 
/*void spisalfavit(File mass[], int n)
{
 
    for (int i = 0; i < n; i++) {
        int maxi = i;
        for (int j = i + 1; j < n; j++) {
            if (mass[j].name > mass[maxi].name) maxi = j;
        }
 
        string buff = mass[maxi].name;
        mass[maxi].name = mass[i].name;
        mass[i].name = buff;
    }
}*/
void spisfile(File spis[], int a)  //список файлов, размер которых превышает заданный
{
    int size;
    cout << "Введите размер:";
    cin >> size;
    for (int i = 0; i < a; i++) {
        if (spis[i].getsize() > size) {
            spis[i].show();
        }
    }
 
}
void spisappeal(File spis[], int b)  //список файлов, число обращений к которым превышает заданное.  
{
    int appeal;
    cout << "Введите число обращений:";
    cin >> appeal;
    for (int i = 0; i < b; i++) {
        if (spis[i].getappeal() > appeal) {
            spis[i].show();
        }
    }
 
}
int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int count = 0;
    File* spis;
    int c;
    cout << "Введите количество файлов: ";
    cin >> c;
    spis = new File[c];
    cout << "a)список файлов, упорядоченный в алфавитном порядке:  " << endl;
    cout << "==============================" << endl;
    //spisalfavit(spis, c);
    cout << "б)список файлов, число обращений к которым превышает заданное.    " << endl;
    cout << "==============================" << endl;
    spisappeal(spis, c);
    cout << "в)список файлов, размер которых превышает заданный:  " << endl;
    cout << "==============================" << endl;
    spisfile(spis, c);
    delete[] spis;
    cout << "Нажмите любую клавишу,чтобы выйти!";
    while (!_kbhit());
}
Помогите написать сортировку по алфавиту имён файлов. Я пробовал у меня не получилось(пример того что пытался сделать, закомментирован
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.03.2023, 18:39
Ответы с готовыми решениями:

Разработать двухпоточное приложение, Сортировку имен файлов
Здравствуйте! Помогите написать программу. Нужно разработать двухпоточное приложение, выполняющие следующие операции: 1.Сортировку...

Подскажите как эту сортировку переделать в сортировку по алфавиту?
Подскажите как эту сортировку переделать в сортировку по алфавиту?? vector&lt;std::pair&lt;string, int&gt;&gt; popularAuthor; ...

Список имен файлов без имен папок и скрытых файлов
Здравствуйте Я пытаюсь вывести список имен файлов в текущей папке без отображения имен папок и скрытых файлов Использую следующий...

5
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
18.03.2023, 19:57
Отсюда возьми: Алгоритмы сортировок
1
0 / 0 / 0
Регистрация: 09.03.2023
Сообщений: 5
18.03.2023, 22:47  [ТС]
Я вроде и посмотрел то, но почему-то у меня не выходит сделать для букв/слов сортировку. Только для чисел. Как быть?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
18.03.2023, 23:52
Показывай.
0
 Аватар для Наталья8
518 / 368 / 65
Регистрация: 09.03.2016
Сообщений: 3,884
19.03.2023, 00:23
vector сортирует...
Сортировка по алфавиту

Добавлено через 11 минут
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
 
int main()
{
    std::vector <std::string> test;
    test.push_back("A");
    test.push_back("B");
    test.push_back("C");
Добавлено через 2 минуты
C++
1
std::sort(test.begin(),test.end());
1
0 / 0 / 0
Регистрация: 09.03.2023
Сообщений: 5
19.03.2023, 13:43  [ТС]
Вот, но она почему-то не работает

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
void spisalfavit(File mass[], int n,int size)
{
    string* name = new string; // указатель для выделения памяти под массив
 
    // Ввод количества файлов
    cout << "Number of your files = ";
    cin >> size;
    string temp; // временная переменная для обмена элементов местами
 
    // Сортировка массива пузырьком
    for (int i = 0; i < size - 1; i++) {
        for (int j = 0; j < size - i - 1; j++) {
            if (name[j] > name[j + 1]) {
                // меняем элементы местами
                temp = name[j];
                name[j] = name[j + 1];
                name[j + 1] = temp;
            }
        }
    }
 
    // Вывод отсортированного массива на экран
    for (int i = 0; i < size; i++) {
        cout << name[i] << " ";
    }
    cout << endl;
 
 
}

код такой же как и выше, менял только функцию
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.03.2023, 13:43
Помогаю со студенческими работами здесь

Поиск файлов по списку имён и по заданным расширениям с выводом полных имён найденных в текстовый файл
Доброго времени суток! Стоит задача сделать батник. Для поиска файлов по списку имён (кириллица) с заданными расширениями, и выводом...

Сделайте в Puthon два списка имён: первый — мальчиков, второй — девочек
Срочно! Заранее спасибо)

Программа на сортировку. Кто-нибудь сделайте в ближайшее время, надо сдать
Написать программу сортировки линейного массива целых чисел методом обмена. Элементы отсортировать по убыванию. Алгоритм сортировки,...

Запрограммируйте сортировку выбором в виде процедуры. Поиск наименьшего числа сделайте ее внутренней функцией
Запрограммируйте сортировку выбором в виде процедуры. Поиск наименьшего числа сделайте ее внутренней функцией.

Сортировка имен по алфавиту пузырьком
Чет не сортируется( char temp; for(f=0;f&lt;3;f++) { for(i=0;i&lt;3-1;i++) { if(student.name &gt; student.name) { ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
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
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru