Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка текста по алфавиту 
:(
    Опции темы
Кли
Дата 20.6.2020, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 20.11.2016

Репутация: нет
Всего: нет



Здравствуйте!!! Помогите пожалуйста написать функцию сортировки по заданию: Написать программу с функцией, которая в текстовом файле "Test.txt" сортирует слова в лексикографическом порядке (по алфавиту). 
Код

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <Windows.h>
#include <string>
#include <cstring>
using namespace std;
int main()
{
    setlocale(LC_ALL,"rus");
    const int len_text = 500;
    const int len_word = 50;
    char buffer[len_text], word[len_word];
    ifstream fin("test.txt");
    if(!fin)
    {
        cout << "Ошибка открытия файла " << endl;
    }
    fin.getline(buffer,len_text ,EOF);
    for(int i = 0; i < strlen(buffer); i++)
    cout << buffer[i];
    cout << endl;
    cout <<"Результат после сортировки: " << endl;
    system("pause");
    return 0;
}

PM MAIL   Вверх
Кли
Дата 26.6.2020, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 20.11.2016

Репутация: нет
Всего: нет



Я написал сортировку, но она че то не работает у меня, в чем ошибка?
Код

#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <string.h>
#include <Windows.h>
using namespace std;
void print_list() 
{
    const int len_text = 500;
    const int len_word = 50;
    char buffer[len_text], word[len_word];
    ifstream fin("test.txt");
    if(!fin)
    {
        cout << "Ошибка открытия файла " << endl;
    }
    fin.getline(buffer,len_text,EOF);
    for(int i = 0; i < strlen(buffer); i++)
    cout << buffer[i];
}

void sort_words()
{
    const int len_text = 500;
    const int len_word = 50;
    char buffer[len_text], word[len_word];
    for(int i = 0; i < strlen(buffer) - 1; i++)
        for(int j = i + 1; j < strlen(buffer); j++)
            if(strcmp(len_word[i], len_word[j]) > 0) 
            {
                char* tmp = buffer[i];
                buffer[i] = buffer[j];
                buffer[j] = tmp;
            }
}

int main() 
{
    setlocale(LC_ALL,"rus");
    printf("\nInput data:\n\n");
    print_list();

//    sort_words();
    printf("\n\nSorted data:\n\n");
//    print_list();
    system("pause");
    return 0;
}



PM MAIL   Вверх
Oldshelf
Дата 27.6.2020, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 22.4.2018

Репутация: нет
Всего: 4



1. Текст не разбивается на слова.
2. При работе с буфером "buffer", сравниваются символы из константы длины слова, а не самого слова (об этом также должен сообщить компилятор).

Добавлено через 5 минут и 52 секунды
3. "buffer" объявлена не глобально и в функцию "sort_words" не передаётся.
PM MAIL WWW   Вверх
pairlee
Дата 16.7.2020, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 1.7.2020

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1153 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.