М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Santastiff666
Santastiff666
15.02.2023 00:16 •  Информатика

Составить программу нахождения количество четных цифр числа используя цикл "Пока".

👇
Открыть все ответы
Ответ:
rererer2
rererer2
15.02.2023

На самом деле изначально здесь была другая задача. Вот ее условие:

C4. Построить из строки следующую анаграмму

Ограничение времени    1 секунда

Ограничение памяти    64Mb

Ввод    стандартный ввод или input.txt

Вывод    стандартный вывод или output.txt

Для данного слова (последовательности строчных латинских букв) выведите следующее за ним (в лексикографическом порядке) слово, которое может быть получено из данного перестановкой букв (анаграмму). Если данное слово уже является последним среди всех своих анаграмм, то необходимо вывести первую возможную (в лексикографическом порядке) анаграмму.

Формат ввода

Задана последовательность слов, по одному слову в строке. Длина одного слова не превышает 50 символов.

Формат вывода

Необходимо вывести результат для каждого полученного на вход слова.

Ниже программный код:

#include <iostream>

#include <string>

#include <algorithm>

using namespace std;

int main() {

   string word;

   char for_sort[51];

   int count_for_sort, min_def, min_def_index;

   while (cin >> word) {

       count_for_sort = 0;

       min_def = 98;

       min_def_index = 51;

       for (int i = word.size() - 1; i >= 0; i--) {

           for_sort[count_for_sort] = word[i];

           count_for_sort++;

           if (word[i] < word[i + 1])

               break;

       }

       int shift = 0;

       if (word[word.size() - count_for_sort] < word[word.size() - count_for_sort + 1]) {

           for (int i = 0; i < count_for_sort; i++)

               if (for_sort[i] - word[word.size() - count_for_sort] > 0 &&

                   for_sort[i] - word[word.size() - count_for_sort] < min_def) {

                   min_def = for_sort[i] - word[word.size() - count_for_sort];

                   min_def_index = i;

               }

           swap(for_sort[0], for_sort[min_def_index]);

           shift = 1;

       }

       sort(for_sort + shift, for_sort + count_for_sort);

       for (int i = word.size() - count_for_sort; i < word.size(); i++)

           word[i] = for_sort[i - word.size() + count_for_sort)];

       cout << word << endl;

       word.clear();

   }

   return 0;

}

4,5(66 оценок)
Ответ:
yagodka343
yagodka343
15.02.2023

AADD

ABDD

ACDD

ADAD

ADBD

ADCD

ADDA

ADDB

ADDC

ADDE

ADED

AEDD

BADD

BBDD

BCDD

BDAD

BDBD

BDCD

BDDA

BDDB

BDDC

BDDE

BDED

BEDD

CADD

CBDD

CCDD

CDAD

CDBD

CDCD

CDDA

CDDB

CDDC

CDDE

CDED

CEDD

DAAD

DABD

DACD

DADA

DADB

DADC

DADE

DAED

DBAD

DBBD

DBCD

DBDA

DBDB

DBDC

DBDE

DBED

DCAD

DCBD

DCCD

DCDA

DCDB

DCDC

DCDE

DCED

DDAA

DDAB

DDAC

DDAE

DDBA

DDBB

DDBC

DDBE

DDCA

DDCB

DDCC

DDCE

DDEA

DDEB

DDEC

DDEE

DEAD

DEBD

DECD

DEDA

DEDB

DEDC

DEDE

DEED

EADD

EBDD

ECDD

EDAD

EDBD

EDCD

EDDA

EDDB

EDDC

EDDE

EDED

EEDD

96

Объяснение:

Если надо пояснить, как решается на бумаге - пишите

4,6(79 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ