|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.05.2019, 20:08 | #1 |
Пользователь
Регистрация: 03.12.2018
Сообщений: 83
|
Переписать в файл все ненулевые элементы файла
как это сделать?
|
02.05.2019, 10:26 | #2 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,619
|
Все участники форума помнят Мария19043 и знают, на каком языке ей нужна программа. А поскоку я не помню, то спрошу: файл текстовый или бинарный?
|
02.05.2019, 10:42 | #3 |
Пользователь
Регистрация: 03.12.2018
Сообщений: 83
|
Текстовый файл
|
02.05.2019, 11:11 | #4 |
Форумчанин
Регистрация: 17.06.2012
Сообщений: 974
|
? контрольные примеры есть ?
1-й файл внутри: 012345012345012345 ? какой должен быть результат ? 2-й файл внутри: 0 12345 0 12345 0 12345 ? какой должен быть результат ? ? что называть "все ненулевые элементы файла" ?
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
|
02.05.2019, 11:21 | #5 |
Пользователь
Регистрация: 03.12.2018
Сообщений: 83
|
у меня есть файл, там числа (вещественные)
как я поняла ненулевые числа это не равные 0 мне нужно эти исла записать в другой файл, но если есть 0 - он не записывается |
02.05.2019, 12:42 | #6 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,330
|
Поскольку вы гордо умолчали о языке, то предлагаю общий алгоритм
с пояснениями на Паскале. Вариант 1: Числа записаны строками и разделены пробелом а) Открываем нужный файл на чтение и второй для записи б) читаем строку из нужного файла: цикл While NOT EOF(fh) - в Паскале если достигли конца файла, то завершить работу (закрыть второй файл) в) выделяем поле (слово) по разделителю: цикл While(<строка не пустая>) если достигли конца строки, то переходим к п. б): по Break г) Если это слово число, то преобразуем в число д) если это число не рано нулю, то пишем во второй файл е) конец цикла по строке ж) конец цикла по файлу з) Закрыть второй файл Вариант 2: Во всех строках файла записано только по одному числу. Всё как в варианте 1, но выделять слова не надо: readln(fh, a). Здесь a - строковый тип. Дополнение: В каждом из вариантов можно использовать чтение слова в переменную заданного типа (например, integer или real). В этом случае необходимо брать обработку ошибок на себя. Так, в Паскале это делается через директивы компилятора: {$I+}, {$I-} Обработка ошибок нужна, если в файле могут оказаться не числовые символы. PS: Нашёл другое сообщение и понял, что это C++. Думаю, что проблем с переходом от Паскаль к С++ не должно быть. Та, вторая, задача, может быть решена в аналогичном стиле. :-)
Как-то так, ...
Последний раз редактировалось ViktorR; 02.05.2019 в 12:48. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ненулевые элементы матрицы Python | y3vs.o | Помощь студентам | 1 | 03.10.2018 11:57 |
переписать в третий файл одинаковые элементы двух файлов | nura satre | Помощь студентам | 4 | 11.06.2018 20:04 |
записать в файл последовательного доступа N произвольных натуральных чисел. переписать в другой файл элементы кратные K | lililili | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 29.11.2012 14:43 |
Элементы матрицы. Все ненулевые элементы массива D(k) расположить в начале массива E(k) и подсчитать их к | Вася Маклауд | Помощь студентам | 0 | 03.04.2011 17:21 |