Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
2 / 2 / 0
Регистрация: 25.03.2016
Сообщений: 107

Подкиньте идею для решения задачи

15.06.2018, 19:28. Показов 1379. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть файл, который содержит вещественные(дробные) числа, разделенные пробелом. Например, "3.1415 3.22 555.1" и т.д.
Округлить числа до целых и записать через пробел во второй файл.
Закрыть потоки.

Округлить числа и записать в другой файл не проблема. Но я вот думаю, каких их "вытянуть" из файла и в виде double.
То есть, нужно считывать от начала до пробела, потом от пробела до следующего пробела, и это считанное переганять в double, ну а потом округлять.
Как можно такое сделать ? Именно уловить этот "диапазон" между двумя пробелами и принимать его как double переменную ?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.06.2018, 19:28
Ответы с готовыми решениями:

Подскажите идею решения задачи
http://acm.timus.ru/problem.aspx?space=1&num=1868 Подскажите, пожалуйста, саму идею решения данной задачи, по каким принципам здесь...

Подкиньте идею решения
{(x^a + y^a)}^{\frac{1}{a}} > {(x^b + y^b)}^{\frac{1}{b}} x > 0, y > 0, 0 < a < b. Нужна только идея решения, дальше сам решу. ...

Подкиньте идею для дипломной
Подкиньте идею для дипломной по 1С

6
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
15.06.2018, 19:35
Лучший ответ Сообщение было отмечено Wonderio619 как решение

Решение

читаем построчно, разбиваем (split) по пробелу и каждый элемент массива кастуем в дабл, округляем и т.д.
1
2 / 2 / 0
Регистрация: 25.03.2016
Сообщений: 107
15.06.2018, 21:42  [ТС]
Welemir1,
Думаю, это оно ))
Попробую сделать ...

Добавлено через 1 час 51 минуту
Welemir1, получилось !)
Может немного намудрил, но вроде норм.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
 
        String file1 = reader.readLine();
        String file2 = reader.readLine();
 
        BufferedInputStream stream1 = new BufferedInputStream(new FileInputStream(file1));
        DataOutputStream stream2 = new DataOutputStream((new FileOutputStream(file2)));
 
        byte[] numbers = new byte[stream1.available()];
        stream1.read(numbers);
        stream1.close();
 
        String value = new String(numbers);
        for (String s : value.split(" ")) {
            long x = Math.round(Double.valueOf(s));
            stream2.writeBytes(Long.toString(x)+" ");
        }
        stream2.close();
    }
}
Спасибо за идею
0
 Аватар для Aviz__
2758 / 2065 / 509
Регистрация: 17.02.2014
Сообщений: 9,492
16.06.2018, 08:44
делай split(".") numbers и 17 строка упростится
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
16.06.2018, 17:32
А не проще
Java
1
2
3
4
5
Scanner scan = new Scanner(new File ("test.txt"));
while(scan.hasNextDouble){
double x = scan.nextDouble();
...
}
?
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
17.06.2018, 23:36
Wonderio619,


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
 
import static java.nio.file.StandardOpenOption.APPEND;
import static java.nio.file.StandardOpenOption.CREATE;
import static java.nio.file.StandardOpenOption.WRITE;
 
public class RoundExample {
    public static void main(String[] args) throws IOException {
        Files.write(Paths.get("output.txt"),
                Files.readAllLines(Paths.get("input.txt")).stream().flatMap((Function<String, Stream<String>>) line ->
                        Arrays.stream(line.split("\\s+")).parallel().map(value -> String.valueOf(Math.round(Double.valueOf(value))))).collect
                        (Collectors.toList()), CREATE, WRITE, APPEND);
    }
}
Только не просите объяснить что тут происходит

Добавлено через 14 минут
upd: пишет в строку, через пробел

Java
1
2
3
4
5
6
7
8
9
10
11
public class RoundExample {
    public static void main(String[] args) throws IOException {
        Files.write(
                Paths.get("output.txt"),
                Files.readAllLines(Paths.get("input.txt")).stream().flatMap(line ->
                        Arrays.stream(line.split("\\s+")).parallel().map(value -> String.valueOf(Math.round(Double.valueOf(value))))).collect
                        (Collectors.joining(" ")).getBytes(),
                CREATE, WRITE, APPEND
        );
    }
}
0
2 / 2 / 0
Регистрация: 25.03.2016
Сообщений: 107
18.06.2018, 01:07  [ТС]
reisal78, жесть ))
Моё решение хоть читается легче.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.06.2018, 01:07
Помогаю со студенческими работами здесь

Идею для процедуры подкиньте)
Доброго времени, друзья. Встала задача написать такую вот процедуру: MakeInsert (aTableName varchar(250)), которая сканирует все записи в...

Подкиньте идею для программы
Программа должна быть на среднюю или высокую сложность. Говорите любые идеи, сделаем все, если сможем. Заранее спасибо. Модераторы...

Пожалуйста, подкиньте идею для проекта
Нужно написать программу на С++ с использованием функций и динамических массивов(Начальный уровень),может игру,но не крестики нолики или...

Подскажите идею решения задачи
Подскажите идею решения задачи

Подкиньте идею
В общем суть такая, есть столбец, к примеру, с 50 записями, 25 первых пустые, остальные заполнены числовыми данными, к примеру от 100 до...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru