Форум программистов, компьютерный форум CyberForum.ru

обход - C++

Восстановить пароль Регистрация
 
Shato
2 / 2 / 0
Регистрация: 16.03.2011
Сообщений: 82
15.04.2011, 15:12     обход #1
Король шахматной доски решил выяснить боеспособность своей армии. Посыльный объехал все клетки поля и сделал записи обо всех войсках, имеющихся в государстве.
Вам поручено упорядочить полученные данные для предъявления королю. Посыльный обозначал войска большими латинскими буквами P, K, S, L, F. Вы должны вывести этот список в неубывающем порядке, если P<K<S<L<F.
Входные данные
Во входном файле содержатся записи посыльного без пробелов. Известно, что в королевстве не более 64 войск.

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

Ввод
PKSLFKSSLF

Вывод
Если кому интересно, сделайте пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2011, 15:12     обход
Посмотрите здесь:

C++ обход дерева
Обход матрицы C++
Обход дерева) C++
Обратный обход C++
обход дерева C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
15.04.2011, 15:32     обход #2
Честно задание сформулировано ужестно, приведи входной файл, как там войска записаны + в английском всего 26 букв, откуда 64 названия взялось???
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
15.04.2011, 15:34     обход #3
Т.е. суть задачи в поиске "войск" на доске и их сортировка?
Не интересно.)

Преподов надо сильно мучить, чтобы они глупые задания не давали. Конкретно, завершённая программа не даёт ответа на основной вопрос "какова боеспособность армии". Всё, что становится известно, это количество различных родов войск. И всё. Вот зачем они студентам мозги пудрят?

Не по теме:

Тоже в преподы хачу.) Тупые задания придумывать...



Добавлено через 38 секунд
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
откуда 64 названия взялось?
Шахматная доска 8х8 клеток. Он же "Король шахматной доски".)
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
15.04.2011, 15:43     обход #4
Shato, а сортировка какая то конкретная или любая пойдет??
Shato
2 / 2 / 0
Регистрация: 16.03.2011
Сообщений: 82
15.04.2011, 16:04  [ТС]     обход #5
любая скорее всего
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
16.04.2011, 00:35     обход #6
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
#include <stdio.h>
#include <string.h>
#include <algorithm>
 
int mac(char latter)
{
    switch(latter)
    {
    case 'P':
        return 1;
    case 'K':
        return 2;
    case 'S':
        return 3;
    case 'L':
        return 4;
    case 'F':
        return 5;
    default:
        return 0;
    }
}
 
bool cmp(char _left,char _right)
{
    return(mac(_left)<mac(_right));
}
 
int main()
{
    char str[65]; 
    FILE* ifile = fopen("input.txt","r");
    fgets(str,65,ifile);
    fclose(ifile);
    std::sort(str,str+strlen(str),cmp);
    FILE* ofile = fopen("output.txt","w");
    fprintf(ofile,"%s",str);
    fclose(ofile);
    return 0;
}
Как то так.
Yandex
Объявления
16.04.2011, 00:35     обход
Ответ Создать тему
Опции темы

Текущее время: 13:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru