0 / 0 / 0
Регистрация: 18.11.2015
Сообщений: 25
1

Отсортировать массив по условию (файловый ввод/вывод)

19.12.2015, 01:35. Показов 1379. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста, написать 2 программы на С++ (отдельно).

В файле input.txt записаны числа (в столбик), известно, что их не более 100.
«1»: Отсортировать массив по убыванию последней цифры и записать его в файл output.txt.

«2»: Отсортировать массив по возрастанию суммы цифр и записать его в файл output.txt.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2015, 01:35
Ответы с готовыми решениями:

Найти и сохранить в каждой строке только те слова, которые удовлетворяют условию (файловый ввод/вывод)
Вечер добрый. Помогите студенту, пожалуйста: завтра экзамен в университете, а на допуск нужно...

Считать данные из текстового файла по условию и записать их в другой текстовый файл (файловый ввод/вывод)
Здравствуйте! Очень прошу о помощи! Суть задания - дан текстовый файл, нужно считать его и записать...

Рассчитать значение функции, используя массив (файловый ввод/вывод)
Дается массив из след.элементов(44 штуки):...

Заменить в программе, переводящую строку в двоичный код, консольный ввод/вывод на файловый ввод/вывод
Добрый день! Помогите, пожалуйста, с программой. Программа считывает строку с клавиатуры и...

1
252 / 158 / 118
Регистрация: 26.11.2012
Сообщений: 384
19.12.2015, 04:40 2
Лучший ответ Сообщение было отмечено Regis как решение

Решение

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
#include <string>
#include <fstream>
 
void main()
{
    std::ifstream in("input.txt");
    std::ofstream out("output.txt", std::ios_base::out | std::ios_base::trunc);//создать файл если его нет
    std::string mas[100];
    int i = 0;
    while ((in >> mas[i])&&(i < 100))
        i++;
 
    for (int j = 1; j < i; j++){//сортировка вставками
        std::string temp = mas[j];
        int item = j - 1;
 
        while ((item >= 0) && (mas[item][mas[item].size() - 1] < temp[temp.size() - 1])){//по убыванию последнего символа
            mas[item + 1] = mas[item];
            mas[item] = temp;
            item = item - 1;
        }
    }
    for (int j = 0; j < i; j++)
        out << mas[j] << '\n';
    in.close();
    out.close();
}
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
#include <string>
#include <fstream>
 
int sum(std::string s){
    int res = 0;
    for (int i = 0; i < s.size(); i++)
        res += s[i] - '0';
    return res;
}
void main()
{
    std::ifstream in("input.txt");
    std::ofstream out("output.txt", std::ios_base::out | std::ios_base::trunc);//создать файл если его нет
    std::string mas[100];
    int i = 0;
    while ((in >> mas[i])&&(i < 100))
        i++;
 
    for (int j = 1; j < i; j++){//сортировка вставками
        std::string temp = mas[j];
        int item = j - 1;
 
        while (item >= 0 && sum(mas[item]) > sum(temp)){
            mas[item + 1] = mas[item];
            mas[item] = temp;
            item = item - 1;
        }
    }
    for (int j = 0; j < i; j++)
        out << mas[j] << '\n';
    in.close();
    out.close();
}
1
19.12.2015, 04:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2015, 04:40
Помогаю со студенческими работами здесь

Как поместить строки разной длинны в двумерный массив? (файловый ввод/вывод)
Всем доброго времени суток! Есть файл с нескольким количеством строк и все эти строки разной...

Поменять консольный ввод-вывод на файловый ввод-вывод
вот у меня калькулятор как мне сделать что б числа вводились из файла и результат записывался в...

Файловый ввод-вывод, ввод с клавиатуры и обработка массива структур
Добрый вечер)) У меня небольшой вопрос. Почему первые буквы (в названии книг) не выводит на экран?...

Записать в бинарный файл массив объектов Student (бинарный файловый ввод/вывод)
Здравствуйте. Стоит задача записать в бинарный файл массив объектов student: class student {...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru