printЗанятие 19

printA. Создание тестов для задачи "Идентификатор"

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Напишите тесты для следующей задачи:
Напишите программу, выполняющую превращение набора английских слов в идентификатор по следующим правилам.
  • Если слово содержит три или менее буквы, то оно полностью включается в идентификатор.
  • Иначе удаляются все гласные буквы в слове, кроме гласной, являющейся первой буквой в слове. В идентификатор включаются три первых буквы результата (если осталось меньше трех, то все оставшиеся). К гласным относятся буквы a, e, i, o, u, y.
  • Первая буква всех слов, начиная со второго, становится прописной.
  • Порядок слов не меняется.
В первой строке ввода содержится непустой набор слов, разделенных пробелами. Длина строки не превышает 100 символов. Слова содержат только строчные латинские буквы.
Вывести получившийся идентификатор.

Пример ввода

list of integer numbers

Вывод для примера

lstOfIntNmb
Тесты задаются в форме:
*INPUT
Ввод для теста 1
*OUTPUT
Вывод для теста 1
*INPUT
Ввод для теста 2
*OUTPUT
Вывод для теста 2
...
Ввод для тестов должен соответствовать условиям задачи. Решение считается принятым, если тесты обнаруживают ошибки во всех программах из некоторого набора. Количество тестов не должно превышать 20. Тесты после 20-го игнорируются. Ошибка PE при проверке означает, что выведенные тесты содержат ошибки, т.е. не соответствуют условиям задачи или ввод выводу.

Пример теста

*INPUT
list of integer numbers
*OUTPUT
lstOfIntNmb
*INPUT
ident
*OUTPUT
idn
Вы можете переслать также программу, которая выводит файл с тестами.

Пример программы

#include <iostream>
#include <string>
void test(int n, string s, string r)
{ std::cout<<"*INPUT\n"<<s<<"\n*OUTPUT\n"<<r<<"\n";
}
int main()
{ test(1,"list of integer numbers","lstOfIntNmb");
  test(2,"ident","idn");
}
loading