powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Cлияние файлов
7 сообщений из 7, страница 1 из 1
Cлияние файлов
    #34468086
Oen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oen
Гость
Дарофф всем!
Может кто подскажет:
1. Как написать програму слияния двух файлов?
2. Дан некотоый арифметический вираз (записан как строка). Вивести содержимое тех скобок которие будут вычисляться первым.

Заранее благодарный.
...
Рейтинг: 0 / 0
Cлияние файлов
    #34468194
OenДарофф всем!
Может кто подскажет:
1. Как написать програму слияния двух файлов?
2. Дан некотоый арифметический вираз (записан как строка). Вивести содержимое тех скобок которие будут вычисляться первым.

Заранее благодарный.
С первым пунсктом все просто. Алгоритм следующий:
I. Если надо оставить исходные файлы "как есть":
1. Открыть исходные файлы на чтение;
2. Открыть файл на запись;
3. Копировать в выходной файл данные из исходных файлов (выполняется в цикле)
4. закрыть все открытые файлы

II. Если надо слить исходные файлы в один:
1. Открыть исходные файлы: один на чтение, другой на запись;
3. Копировать в выходной файл данные из файла, открытого на чтение (выполняется в цикле)
4. закрыть все открытые файлы

Со втрорым пунктом немного сложнее. Алгоритм примерно следующий (если нет вызовов функций):
В цикле (пока не встретится конец строки)
1. Считаем открывающие скобки и запоминаем позицию в строке каждой из них.
2. Если встретилась закрывающая скобка, то запоминаем ее позицию в строке.
2.1. Вырезаем часть строки от последней открытой скобки до первой закрывающейся, выводим на экран.
2.2. Выходим из цикла
3. Если закрывающая скобка не встретилась и достигнут конец строки
3.1. генерируем сообщение об ошибке
3.2. Выходим из цикла
4. Если конец строки не достигнут - продолжаем цикл, иначе - выходим из цикла.

Если есть вызовы функций внутри выражения, то надо будет немного подумать. Скорее всего, надо будет составить список служебных слов, типа: abs, sin, cos, log и т.д. и анализировать наличие этих слов в строке...

Конкретная реализация - Ваша забота...
...
Рейтинг: 0 / 0
Cлияние файлов
    #34469476
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oen пишет:

> 2. Дан некотоый арифметический вираз (записан как строка). Вивести
> содержимое тех скобок которие будут вычисляться первым.

почитайте где-нибудь про алгоритм Дейкстры. В сети есть.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Cлияние файлов
    #34469486
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав С пишет:

> С первым пунсктом все просто. Алгоритм следующий:
> I. Если надо оставить исходные файлы "как есть":
> 1. Открыть исходные файлы на чтение;
> 2. Открыть файл на запись;
> 3. Копировать в выходной файл данные из исходных файлов (выполняется в
> цикле)

в смысле, сначала один, потом другой.
> 4. закрыть все открытые файлы

> II. Если надо слить исходные файлы в один:
> 1. Открыть исходные файлы: один на чтение, другой на запись;
> 3. Копировать в выходной файл данные из файла, открытого на чтение
> (выполняется в цикле)
Эдак он один файл перетрет. Надо еще перед этим в файле, открытом на
запись, спозиционироваться на конец файла.

> 4. закрыть все открытые файлы
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Cлияние файлов
    #34474556
Oen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oen
Гость
MasterZiv
Oen пишет:

> 2. Дан некотоый арифметический вираз (записан как строка). Вивести
> содержимое тех скобок которие будут вычисляться первым.

почитайте где-нибудь про алгоритм Дейкстры. В сети есть.
Posted via ActualForum NNTP Server 1.4

Никак не могу понять как его использовать для реализации даной задачи.
(сам алгоритм находится здесь http://algolist.manual.ru/maths/graphs/shortpath/dijkstra.php)
...
Рейтинг: 0 / 0
Cлияние файлов
    #34475031
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oen пишет:

> > 2. Дан некотоый арифметический вираз (записан как строка). Вивести
> > содержимое тех скобок которие будут вычисляться первым.
>
> почитайте где-нибудь про алгоритм Дейкстры. В сети есть.
> Никак не могу понять как его использовать для реализации даной задачи.
> (сам алгоритм находится здесь
> http://algolist.manual.ru/maths/graphs/shortpath/dijkstra.php)

Не, это другой алгоритм Дейкстры. Это для поиска кратчайшего пути.
А надо для разбора алгебраических выражений.

http://algolist.manual.ru/syntax/revpn.php

Правда я возможно неправильно дал его название - тут он приписывается
Лукашевичу. Но меня тоже обманули - в другом источнике почему-то его
называли алгоритмом Дейкстры. Или я что перепутал. Ну уж извините.

Я думаю надо построить с помощью него дерево выражения, а затем
получить все узлы, непосредственно лежащие "над" листовыми узлами.
И потом для каждого такого узла вывести его правый дочерний узел,
самого его, и левый дочерний узел.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Cлияние файлов
    #34475036
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv пишет:

> Правда я возможно неправильно дал его название - тут он приписывается
> Лукашевичу. Но меня тоже обманули - в другом источнике почему-то его
> называли алгоритмом Дейкстры. Или я что перепутал. Ну уж извините.

А, все ж правильно, польскую записть придумал Лукашевич, а алгоритм - Дейкстра.
Там же все и написано. Ну успехов.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Cлияние файлов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]