А404

Задача:

Даны натуральные числа [latex]{i}, {j}[/latex], действительная матрица размера [latex]{18}\times{24}[/latex]  [latex](1\leq i\leq j\leq 24)[/latex]. Поменять местами в матрице [latex]{i}[/latex]-й и [latex]{j}[/latex]-й столбцы.

Тест:

Вводим матрицу (размером [latex]{18}[/latex] — строк, [latex]{24}[/latex] — столбцов) в [latex]{input}[/latex], в следующей строке вписываем номера столбцов которые хотим поменять.

Пример:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
3 6

Программа:

  1. Ввод самого массива;
  2. Перевод строки после каждого 24 элемента;
  3. Ограничение по вводу до 18 строк;
  4. Замена местами обозначенных столбцов.
    Ссылка на программу
    P.S Хотел в тесте ввести матрицу красиво но [latex]{latex}[/latex] не воспринимал пробелы, пришлось бы вводить каждый элемент отдельно или же можно как то иначе.

Related Images:

Ю4.8

Задача:

В массиве C(m) заменить каждый третий элемент полусуммой двух предыдущих, а стоящий перед ним — полусуммой соседних с ним элементов.

Тест:

Количество элементов Элементы Результат
3 5 9 1  5  3  7
6 8 7 6 9 4 0  8  7  7,5  9  4,5  6,5
9 2 5 7 3 6 9 4 6  2  4,5  3,5  3  6  4,5  4  5,5 5

Программа:

  1. Задаем массив;
  2. Выбираем числа кратные трем;
  3. Меняем каждый третий элемент начиная со второго;
  4. Находим полусумму двух предыдущих элементов;
  5. Берем число стоящее перед числом кратным трем;
  6. Заменяем его на полусумму стоящих рядом элементов.
    Ссылка на программу

Related Images:

AA26.

Задача

В строке заменить последний и предпоследний символ, соответственно, на первый и второй. Если длина строки меньше четырех, то вывести, что это сделать невозможно.

Тесты

Input Output
aabbcc ccbbaa
input data atput dani
 Kalamabanga aglamabanaK

Алгоритм

Поскольку в условии задачи, количество слов не оговорено — для  ввода строки используем функцию getline. Затем проверяем ее длину. Если количество символов ( пробел также учитывается как символ!) не меньше 4, то делаем следующее:

1) Кладем в дополнительную строку два последних символа.

2) Заменяем последние символы в исходной строке на первые

3) В первые символы кладем то, что сохранили в дополнительной строке.

Если число символов меньше 4 — выдаем сообщение об ошибке.

Ссылка на ideone.com

Related Images:

АА20

Условие: В заданной строке удалить последнюю пару символов «:=», которая найдется в строке.

Тесты:

Ввод Вывод
sdfsd  fdg :=sdrgs := :+:=:= sdf FUHIUh := sdfdf sdfsd  fdg :=sdrgs := :+:=:= sdf FUHIUh  sdfdf
фыпва :+вап:=аоап:=вр   := в фыпва :+вап:=аоап:=вр    в

 

Код программы:

Код программы на Java:

Ссылка на ideone.com: https://ideone.com/Z94AwR

План программы:

  1. Ввод строки из стандартного потока ввода. Здесь используется getline, чтобы можно было вводить символы-разделители
  2. Используется метод rfind класса string, позволяющий найти подстроку, начиная с конца
  3. Результат поиска — позиция символа, с которого начинается искомая построка
  4. Если позиция найдена, то используется метод replace, который заменяет все символы найденной подстроки на пустую строку

Ссылка на программу http://ideone.com/x5AtbG

Related Images:

A808г

Задача

Дан текст. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелы внутри себя, будем называть их словами.В тех словах, которые оканчиваются сочитанием букв  [latex]-ing[/latex] заменить это окончание на [latex]-ed[/latex].

Тест

Для проверки я введу первый абзац и второй, так как могут возникнуть вопросы, связанные с считыванием [latex]getline()[/latex] до первого переноса строки.

Вводимый текст Выводимый текст
Alice was beginning to get very tired of sitting

by her sister on the bank, and of having nothing

to do: once or twice she had peened into the book

her sister was reading, but it had no pictures or con-

versations in it, and what is the use of a book,’ througt

Alice ‘without pictures or conversation?’

So she was considering in her own ..

Alice was begined to get very tired of sitted

by her sister on the bank, and of haved nothed

to do: once or twice she had peened into the book

her sister was readed

, but it had no pictures or con-

versations in it, and what is the use of a book,’ througt

Alice ‘without pictures or conversation?’

So she was considered in her own …

Ссылка на программу: http://ideone.com/S5ZlwZ

Решение

Вводим строку в переменную [latex]s[/latex].В цикле пишем условие, что пока будут встречаться буквосочетания  [latex]-ing[/latex] заменить их на [latex]-ed[/latex] и выводим уже обработанный текст.

Related Images:

Ю4.14

Задача:

Элементы заданного массива [latex]T(k)[/latex] расположить в обратном порядке : [latex] t_k, t_{k-1}, … , t_2, t_1.[/latex]

Тесты:

 

[latex]k[/latex] Вводимые значения Результат Комментарий
6 1 2 3 4 5 6 6 5 4 3 2 1 Пройдено
1 3 3 Пройдено
3 22 501 -1254 -1254 501 22 Пройдено

Код:

В начале  задаем количество  элементов в массиве. Заполняем массив значениями с помощью цикла [latex]for[/latex].  С помощью цикла [latex]for[/latex] выводим элементы массива  в обратном порядке.

Ссылка Ideone.

Код Java

Ссылка на Ideone

Related Images:

Ю 4.24

                                                    «Нарастающий итог»

Задача:

В массиве А[n] каждый элемент, кроме первого, заменить суммой всех предыдущих элементов.

 
Вводимые данные Предполагаемый вывод Комментарий
1 1 1 1 1 1 1 1 2 3 4 5 Тест пройден
1 2 3 4 5 6 7 8 9 1 1 3 6 10 15 21 28 36 Тест пройден
3 5 2 9 0 4 65 156 1 3 3 8 10 19 19 23 88 244 Тест пройден
2 -7 3 8 -4 5 -2 4 2 2 2 -5 -2 6 2 7 5 9 Тест пройден

Исходный код:

 Описание:

Постейшие операции с массивом. С помощью цикла записываем данные в массив, после чего, снова с помощью цикла, записываем новые данные во второй массив. Далее выводим результат.

Алгоритм:

  1. Объявление переменной и ввод размерности массива.
  2. Создание массива.
  3. Создание цикла, для записи вводимых данных в массив.
  4. Создание нового  массива.
  5. Создание цикла, для ввода обработанных данных в новый массив.
  6. Создание цикла, для вывода результата.
  7. Окончания работы программы.

Ссылка на Ideone.

Другой вариант:

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

Related Images: