PDA

Просмотр полной версии : Помогите решить задачу по 1С



Михаил1ССС
28.07.2018, 04:15
Всем привет.:)

Помогите пожалуйста решить задачку по 1С. Никак не могу написать код, с требуемым результатом. :rtfm:

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

Буду очень благодарен, даже за подсказку.;)

Fltr
28.07.2018, 08:49
Всем привет.:)

Помогите пожалуйста решить задачку по 1С. Никак не могу написать код, с требуемым результатом. :rtfm:

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

Буду очень благодарен, даже за подсказку.;)

Функция мРазложитьСтрокуВМассивПо дстрок(Знач Стр, Разделитель = ",") Экспорт

МассивСтрок = Новый Массив();
Если Разделитель = " " Тогда
Стр = СокрЛП(Стр);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
МассивСтрок.Добавить(Стр);
Возврат МассивСтрок;
КонецЕсли;
МассивСтрок.Добавить(Лев(С� �р,Поз-1));
Стр = СокрЛ(Сред(Стр,Поз));
КонецЦикла;
Иначе
ДлинаРазделителя = СтрДлина(Разделитель);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
МассивСтрок.Добавить(Стр);
Возврат МассивСтрок;
КонецЕсли;
МассивСтрок.Добавить(Лев(С� �р,Поз-1));
Стр = Сред(Стр,Поз+ДлинаРазделит� �ля);
КонецЦикла;
КонецЕсли;

КонецФункции // глРазложить

Михаил1ССС
28.07.2018, 11:34
Функция мРазложитьСтрокуВМассивПо дстрок(Знач Стр, Разделитель = ",") Экспорт

МассивСтрок = Новый Массив();
Если Разделитель = " " Тогда
Стр = СокрЛП(Стр);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
МассивСтрок.Добавить(Стр);
Возврат МассивСтрок;
КонецЕсли;
МассивСтрок.Добавить(Лев(С� �р,Поз-1));
Стр = СокрЛ(Сред(Стр,Поз));
КонецЦикла;
Иначе
ДлинаРазделителя = СтрДлина(Разделитель);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
МассивСтрок.Добавить(Стр);
Возврат МассивСтрок;
КонецЕсли;
МассивСтрок.Добавить(Лев(С� �р,Поз-1));
Стр = Сред(Стр,Поз+ДлинаРазделит� �ля);
КонецЦикла;
КонецЕсли;

КонецФункции // глРазложить

Спасибо

Михаил1ССС
28.07.2018, 11:34
Функция мРазложитьСтрокуВМассивПо дстрок(Знач Стр, Разделитель = ",") Экспорт

МассивСтрок = Новый Массив();
Если Разделитель = " " Тогда
Стр = СокрЛП(Стр);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
МассивСтрок.Добавить(Стр);
Возврат МассивСтрок;
КонецЕсли;
МассивСтрок.Добавить(Лев(С� �р,Поз-1));
Стр = СокрЛ(Сред(Стр,Поз));
КонецЦикла;
Иначе
ДлинаРазделителя = СтрДлина(Разделитель);
Пока 1=1 Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
МассивСтрок.Добавить(Стр);
Возврат МассивСтрок;
КонецЕсли;
МассивСтрок.Добавить(Лев(С� �р,Поз-1));
Стр = Сред(Стр,Поз+ДлинаРазделит� �ля);
КонецЦикла;
КонецЕсли;

КонецФункции // глРазложить

Спасибо

Михаил1ССС
28.07.2018, 11:37
Я не смог решить еще одну задачу....

Выведите 12 месяцев, используя цикл Для..Цикл, и функцию Формат

Поможете?))

Fltr
28.07.2018, 12:04
Я не смог решить еще одну задачу....

Выведите 12 месяцев, используя цикл Для..Цикл, и функцию Формат

Поможете?))

Для к=1 по 12 цикл
Сообщить(Формат(Дата(2009, к, 1), "ДФ=ММММ"));
КонецЦикла;

Михаил1ССС
28.07.2018, 12:18
Для к=1 по 12 цикл
Сообщить(Формат(Дата(2009, к, 1), "ДФ=ММММ"));
КонецЦикла;

Спасибо. Получилось
1907