Как написать программу на языке Java?







+10 +/-

Всем добрый вечер, тут возникла проблема с кодом программки. вот такое задание: "Создать файл целых чисел f. Переписать f так, чтобы отрицательные и положительные его компоненты чередовались, а все непарные шли в конце. Распечатать файл f до и после преобразования." я уже никак не могу ничего придумать, уже голова просто пухнет, помогите если тут есть программисты.

Профиль пользователя Garduno Спросил: Garduno  (рейтинг 12297) Категория: компьютеры и интернет

Ответов: 1

0 +/-
Лучший ответ
  1. Соственно создать файл целых чисел. Сгенерить строку из N чисел и записать в файл думаю не сложно.
  2. Считать содержимое файла в строку.
  3. Разбить на составляющие и записать их в массив. Реализаций может быть несколько. Если нет специальной функции, то пройтись циклом по строке и когда попадутся разделители (ну чаще всего это запятая с пробелом ", "), добавить то, что между ними, в массив.
  4. Перебрать циклом полученный массив.
  5. Записать в все четные положительные числа в один массив, четные отрицательные во второй, нечетные положительные - в третий и нечетные отрицательные в четвертый.
  6. Создать строку из всех элементов массивов: сначала 0-ые элементы - первого и второго (или второго и первого, если количество элементов у 2-го на 1 больше), потом 1-ые элементы, 2-е, ..., N-ые этих массивов. После этого 0-е элементы 3-го и 4-го массивов (или 4-го и третьего, если количество элементов у 4-го на 1 больше), потом 1-ые их элементы, 2-е, ... N-ые.

На 6-м этапе мы видим, что количество элементов всех 4-х массивов для простоты желательно сделать одинаковым (ну или посчитать все возможные зависимости при которых не будет нарушаться порядок следования:

а). четное положительное, четное отрицательное, ..., четное положительное, четное отрицательное, нечетное положительное, нечетное отрицательное, ...

(+2, -2, ... ,+2, -2, +1, -1, ...)

б). четное положительное, четное отрицательное, ..., четное положительное, нечетное отрицательное, нечетное положительное, ...

(+2, -2, ... ,+2, -1, +1, ...)

в).(-2, +2, ... ,+2, -2, +1, -1, ...)

г).(-2, +2, ... ,-2, +1, -1, ...)

Получаем.

  1. Количество четных отрицительных может отличаться от количества четных положительных на 1. Также и количество нечетных отрицательных может быть на одно больше или меньше, чем нечетных положительных.
  2. Если четных положительных на одно больше чем четных отрицательных, то нечетных отрицательных и положительных должно быть либо поровну, либо отрицательных на одно больше. И наоборот, если четных отрицательных на одно больше чем четных положительных, то нечетных отрицательных и положительных должно быть либо поровну, либо положительных на одно больше.

). Поэтому в п.1. при заполнении файла это нужно учесть - сгенерировать то количество, которое нужно четных положительных, четных отрицательных, нечетных положительных и нечетных отрицательных, и предварительно перемешав их, записать в файл.

Это, как можно догадаться, алгоритм - правила написания на Java гугл расскажет. ))

Ответил на вопрос: Inebriate  

Похожие вопросы

Спросил
2 Отв.
Как решать подобные задачи по ИВТ(Паскаль, подготовка к ЕГЭ)(см.)?
Ответ: Данные задачи относятся к заданиям ЕГЭ по информатике, суть которых - анализ кода программы, содержащей циклы и ветвления. От решающего задачу требуется проанализировать ход выполнения программы, для ... Читать далее...
Автор вопроса: Iranian, в категории | | |
Спросил Iranian
1 Отв.
Как зашифровать свое имя в двоичном коде?
Ответ: Если вы любитель мозговых штурмов и у вас масса свободного времени, то можно, используя Коды символов ASCII выразить своё имя, к примеру, в десятеричном ... Читать далее...
Автор вопроса: Burnier, в категории | | |
Спросил Burnier
2 Отв.
Что такое «класс» в программировании?
Ответ: Классами программисты описывают некие абстрактные типы данных. В классе также определяются свойства, данные и методы обработки данных. Классы можно объявлять ... Читать далее...
Автор вопроса: Carita, в категории | |
Спросил Carita
1 Отв.
Как получить оповещение о появлении на чужом сайте определенной фразы?
Ответ: Закажите у веб-программиста Парсер который будет постоянно проверять контентна сайте и проверять в нем наличие той самой ... Читать далее...
Автор вопроса: Crankpin, в категории | | | | |
Спросил Crankpin
3 Отв.
Как научиться писать компьютерные программы и зарабатывать на этом?
Ответ: Советую углубиться немного в другую отрасль - веб-программирования. Это очень выгодно и прибыльно. В среднем цена за сайт составляет от 3 до 5 тысяч рублей. ... Читать далее...
Автор вопроса: Contraction, в категории | |
Спросил Contraction
1 Отв.
Каково основное преимущество, получаемое при использовании функции?
Ответ: Функции позволяют делать одно и то же действие много раз подряд одинаково хорошо, в этом главное преимущество как функций, так и компьютеров в целом :) автор ... Читать далее...
Автор вопроса: Garboils, в категории |
Спросил Garboils
1 Отв.
Как начинать самому учить язык программирования?
Ответ: Нет языка программирования - есть языки программирования! Какой именно язык вы хотите начать учить?! Дело в том, что все языки программирования отличаются ... Читать далее...
Автор вопроса: Sorcer, в категории
Спросил Sorcer
1 Отв.
Какой микроконтроллер выбрать новичку для начала?
Ответ: Хотел в начале предложить, что попроще, а потом подумал, что нет в этом смысла. Конечно если трудности пугают, то с простого легче начинать. Но как показывает ... Читать далее...
Автор вопроса: Reaping, в категории | | | | |