Михаиллл
МихаилллJuly 2, 2019, 2:18 p.m.

Как в карте получить номера домов и их координаты

Добрый день.
У меня есть карта и я могу получить видимые координаты.
Скажите пожалуйста, как определить номера домов и их координаты в видимой части карты?
Возможно это можно получить с помощью свойства text

import QtQuick 2.12
import QtQuick.Window 2.12
import QtLocation 5.12
import QtPositioning 5.12
//console.log("открылась Page1") //вывод текста в консоль

Item {
    visible: true
    width: 480
    height: 720
    //    width: Screen.width
    //    height: Screen.height

    property double old : 19
    property double now


    Rectangle
    {
        anchors.fill: parent
        color: "#eee"

        /*Component.onCompleted:
        {
            circle.center = src.position.coordinate
            circle1.center = src.position.coordinate
            circle2.center = src.position.coordinate
            maps.center = src.position.coordinate
        }*/

        PositionSource
        {
            id: src
//            active: true
//            updateInterval: 1000
//            onPositionChanged:
//            {
//                console.log("PositionSource:" )
//                circle.center = position.coordinate
//                circle1.center = position.coordinate
//                circle2.center = position.coordinate
//            }
        }

        Address
        {
         id:  address
        }

        Plugin
        {
            id: plugin
            name: "osm"
            PluginParameter { name: "osm.useragent"; value: "My great Qt OSM application" }
            PluginParameter { name: "osm.mapping.host"; value: "http://osm.tile.server.address/" }
            PluginParameter { name: "osm.mapping.copyright"; value: "All mine" }
            PluginParameter { name: "osm.routing.host"; value: "http://osrm.server.address/viaroute" }
            PluginParameter { name: "osm.geocoding.host"; value: "http://geocoding.server.address" }
            PluginParameter { name: "osm.places.host"; value: "http://geocoding.server.address" }
        }

        Map
        {
            id: maps
            anchors.fill: parent
            plugin: plugin
            gesture.enabled: true
            gesture.acceptedGestures: MapGestureArea.PinchGesture | MapGestureArea.PanGesture | MapGestureArea.FlickGesture
            gesture.flickDeceleration: 3000
            zoomLevel: 19
            center: QtPositioning.coordinate(59.91, 10.75) // Oslo

            onZoomLevelChanged:
            {
                console.log("onZoomLevelChanged:")
                console.log("coordinate ctnter:" + visibleRegion.center())
                console.log("coordinate geoshape:" + visibleRegion.boundingGeoRectangle())
            }

            onCenterChanged:
            {
                console.log("onCenterChanged:")
                console.log("coordinate ctnter:" + visibleRegion.center())
                console.log("coordinate geoshape:" + visibleRegion.boundingGeoRectangle())
                console.log("address:" )
            }

            minimumZoomLevel: 1

            focus: true

            /*MapCircle {
                id: circle
                z: 2
                color: "#fff"
                radius: 8
                border.color: "#fff"
                center
                {
                    latitude: src.position.coordinate.latitude
                    longitude: src.position.coordinate.longitude
                }
            }

            MapCircle {
                id: circle2
                z: 3
                color: "#0084ff"
                radius: 4
                border.color: "#0084ff"
                center
                {
                    latitude: src.position.coordinate.latitude
                    longitude: src.position.coordinate.longitude
                }
            }

            MapCircle {
                id: circle1
                z: 1
                color: "#0084ff"
                border.color: "#0084ff"
                opacity: 0.25
                radius: 19
                center
                {
                    latitude: src.position.coordinate.latitude
                    longitude: src.position.coordinate.longitude
                }
            }*/
        }
    }
}

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.

Do you like it? Share on social networks!

31
Evgenii Legotckoi
  • July 3, 2019, 2:41 a.m.

Добрый день!

Я думаю, что вы можете получить информацию об адресе следующим образом из объекта Address

console.log("address: " + address.street)

При этом сам номер дома по ходу придётся каким-то образом парсить из полученной строки. Судя по документации ни шиша там нету отдельной инофрмации по номеру дома.

А свойство text, собирает всё до кучи.

console.log("address: " + address.text)
    Михаиллл
    • July 3, 2019, 3:07 a.m.

    Если делать так

    console.log("address: " + address.street)
    

    или так

    console.log("address: " + address.text)
    

    то ничего не возвращает. хотя если делать так

    console.log("address:" + address.isTextGenerated)
    

    то возвращает true. Этот код

    console.log("address:" + address.objectName )
    

    тоже ничего не возвращает.

    Похоже я неправильно пользуюсь Address или он не работает.

    Еще похоже можно как то по API получить координаты и номера домов , но как, я пока не понял. Вот нашел пример в ссылке https://nominatim.openstreetmap.org/reverse.php?format=html&lat=43.64529279494597&lon=-79.38523801990962&zoom=18

      Evgenii Legotckoi
      • July 3, 2019, 3:58 a.m.

      Знаете... я наверное буду впотёмках лазить, если буду гадать. Поэтому у меня вопрос. Кроме того кода, который вы привели, у ваас в проекте есть ещё что-то в QML части? Я наверное просто взял бы вечером этот кусок кода и попробовалл бы скомпилировать у себя. Так наверное будет лучше.

        Михаиллл
        • July 3, 2019, 4:17 a.m.
        • (edited)

        Ничего там пока нет, но вот сам проект, так будет удобней.
        mapGeocode.7z mapGeocode.7z
        Спасибо за участие.

          Михаиллл
          • July 3, 2019, 5:57 a.m.
          • (edited)

          Можно привязать адрес к локации, но пока не понятно как в локацию ввести 4 ограничивающие координаты.

           Location
                  {
                      id: myLocation
                   /*coordinate{
                   latitude:  - 27.3
                   longitude:  153.1
                      }*/
                          address:  Address {
                          id:  myAddress2
                      }
                  }
          
            Evgenii Legotckoi
            • July 3, 2019, 2:01 p.m.

            Итак, вот получился рабочий вариант. Что интересно, некоторые параметры плагина, которые вы ввели разбивали работу карты. То есть установки по умолчанию сработали лучше. А вообще запрос адреса по координатам делается через GeocodeModel, Address может быть вспомогательной единицей, если вам нужно будет найти координаты по адресу.

            import QtQuick 2.12
            import QtQuick.Window 2.12
            import QtLocation 5.12
            import QtPositioning 5.12
            
            Item {
                visible: true
                width: 480
                height: 720
            
                property double old : 19
                property double now
            
                Rectangle
                {
                    anchors.fill: parent
                    color: "#eee"
            
                    Plugin
                    {
                        id: plugin
                        name: "osm"
                        PluginParameter { name: "osm.useragent"; value: "My great Qt OSM application" }
                    }
            
                    Map
                    {
                        id: maps
                        anchors.fill: parent
                        plugin: plugin
                        gesture.enabled: true
                        gesture.acceptedGestures: MapGestureArea.PinchGesture | MapGestureArea.PanGesture | MapGestureArea.FlickGesture
                        gesture.flickDeceleration: 3000
                        zoomLevel: 19
                        center: QtPositioning.coordinate(59.91, 10.75) // Oslo
            
                        onCenterChanged:
                        {
                            geocodeModel.query = visibleRegion.center()
                            geocodeModel.update()
                        }
            
                        minimumZoomLevel: 1
            
                        focus: true
            
                        GeocodeModel {
                            id: geocodeModel
                            plugin: plugin
                            onLocationsChanged:
                            {
                                console.log("onLocationsChanged")
                                if (count == 1) {
                                    console.log("street:" + geocodeModel.get(0).address.street )
                                    console.log("district:" + geocodeModel.get(0).address.district )
                                    console.log("city:" + geocodeModel.get(0).address.city )
                                    console.log("county:" + geocodeModel.get(0).address.county )
                                    console.log("state:" + geocodeModel.get(0).address.state )
                                    console.log("countryCode:" + geocodeModel.get(0).address.countryCode )
                                    console.log("country:" + geocodeModel.get(0).address.country )
                                    console.log("postalCode:" + geocodeModel.get(0).address.postalCode )
                                }
                            }
                        }
                    }
                }
            }
            
            
              Михаиллл
              • July 4, 2019, 1:11 a.m.

              Спасибо за помощь.
              Теория о том, что Address поможет получить номера домов провалилась.
              Как же получиться номера домов?
              Может быть обращаться к API сайта OSM и запрашивать json или может быть можно все же получить эти данные у Qt карты?

                Михаиллл
                • July 4, 2019, 2:23 a.m.

                Может быть можно задавать bounds : geoshape границы GeocodeModel, и уже в пределах этих гранить как то забирать у GeocodeModel координаты объектов и их номера?

                  Evgenii Legotckoi
                  • July 4, 2019, 2:50 a.m.
                  • (edited)

                  Ну вообще нужная информация хранится в поле street, там идёт название улицы и номер дома, если он есть.

                  то есть возвращается информация здесь

                  geocodeModel.get(0).address.street
                  

                  Естественно, что там нет отдельного поля для номера дома. Просто потому, что это карта мира, а каждой стране свои правила нумерации домов. Вот там всё и свалено в одно поля.

                  Ну как вариант, ещё поле county может содержать то, что вам нужно.

                  geocodeModel.get(0).address.county
                  

                  Если говорить об API, то нужно тогда писать класс для запросов на основе QNetworkManager и посылать запрос координат и смотреть, что там вернётся. Но не удивлюсь, если ситуация будет та же самая.

                    Михаиллл
                    • July 4, 2019, 3:56 a.m.

                    Оказалось номер дома находится в text, вот пример того, что он возвращает:

                    Золотой Вавилон, 211 к2, проспект Мира, Ростокино, район Ростокино, Северо-Восточный административный округ, Москва, Центральный федеральный округ, 129327, РФ
                    

                    Получается, если узнать координаты объектов - домов, находящихся на видимой части карты, их всех можно прогнать через GeocodeModel и получить номера домов и даже их описание, а для этого наверно нужно задать GeocodeModel видимую часть карты.
                    Вы не знаете, как у GeocodeModel узнать количество объектов на видимой части карты и их координаты?

                      Evgenii Legotckoi
                      • July 4, 2019, 4:14 a.m.

                      Не думаю, что вообще возможно через GeocodeModel получить координаты и адреса всех домой в заданной области.

                      Для выполнения запроса в GeocodeModel присутствует свойство query. Вот его описание.

                      This property holds the data of the geocoding request. The property accepts three types of queries which determine both the data and the type of action to be performed:

                      • Address - Geocoding (address to coordinate)
                      • coordinate - Reverse geocoding (coordinate to address)
                      • string - Geocoding (address to coordinate)

                      И пример запроса

                      {
                          geocodeModel.query = "53 Brandl St, Eight Mile Plains, Australia"
                          geocodeModel.update()
                      }
                      

                      Исходя их этого описания, я могу сказать, что по конкретным координатам можно получить только адреса, которые находятся в данных координатах. Такое возможно, когда дом имеет несколько адресов. То есть все адреса в одной точке. При этом нет никакой возможности задать область поиска и получить все адреса по всем координатам.

                        Evgenii Legotckoi
                        • July 4, 2019, 4:19 a.m.

                        Однако, вполне возможно, что то, что вы хотите сделать, можно реализовать с помощью PlaceSearchModel. Там можно задать область поиска, так что вполне возможно, что там как-то можно найти то, что требуется.

                          Михаиллл
                          • July 4, 2019, 5:50 a.m.

                          Подключил PlaceSearchModel и задал область поиска.
                          Скажите пожалуйста, как получить из PlaceSearchModel количество объектов и их координаты?

                          import QtQuick 2.12
                          import QtQuick.Window 2.12
                          import QtLocation 5.12
                          import QtPositioning 5.12
                          
                          Item {
                              visible: true
                              width: 480
                              height: 720
                          
                              property double old : 19
                              property double now
                          
                              Rectangle
                              {
                                  anchors.fill: parent
                                  color: "#eee"
                          
                                  Plugin
                                  {
                                      id: plugin
                                      name: "osm"
                                      PluginParameter { name: "osm.useragent"; value: "My great Qt OSM application" }
                                  }
                          
                                  Map
                                  {
                                      id: maps
                                      anchors.fill: parent
                                      plugin: plugin
                                      gesture.enabled: true
                                      gesture.acceptedGestures: MapGestureArea.PinchGesture | MapGestureArea.PanGesture | MapGestureArea.FlickGesture
                                      gesture.flickDeceleration: 3000
                                      zoomLevel: 19
                                      center: QtPositioning.coordinate(55.845741, 37.660652) // Moscow
                          
                                      onCenterChanged:
                                      {
                                          geocodeModel.query = visibleRegion.center()
                                          geocodeModel.update()
                                          mySearchModel.searchArea = visibleRegion.boundingGeoRectangle() //it's work
                                          mySearchModel.update()
                                      }
                          
                                      minimumZoomLevel: 1
                          
                                      focus: true
                          
                                      PlaceSearchModel {
                                          id: mySearchModel
                                          plugin: plugin
                                          searchArea: visibleRegion.boundingGeoRectangle()
                                          onSearchAreaChanged:  //it's work
                                          {
                                              console.log("onSearchAreaChanged :" )
                                          }
                                      }
                          
                                      GeocodeModel {
                                          id: geocodeModel
                                          plugin: plugin
                                          onLocationsChanged:
                                          {
                          //                    console.log("onLocationsChanged")
                          //                    if (count == 1) {
                          //                        console.log("street:" + geocodeModel.get(0).address.street )
                          //                        console.log("district:" + geocodeModel.get(0).address.district )
                          //                        console.log("city:" + geocodeModel.get(0).address.city )
                          //                        console.log("county:" + geocodeModel.get(0).address.county )
                          //                        console.log("state:" + geocodeModel.get(0).address.state )
                          //                        console.log("countryCode:" + geocodeModel.get(0).address.countryCode )
                          //                        console.log("country:" + geocodeModel.get(0).address.country )
                          //                        console.log("postalCode:" + geocodeModel.get(0).address.postalCode )
                          //                        console.log("text:" + geocodeModel.get(0).address.text )
                          //                        //console.log("bounds:" + geocodeModel.bounds)
                          //                    }
                                          }
                                      }
                                  }
                              }
                          }
                          
                            Михаиллл
                            • July 4, 2019, 7:43 a.m.

                            Узнал что число найденых объектов можно узнать так

                            console.log("count :" + mySearchModel.count)
                            

                            Но становится вопрос о поиске, пробовал не задавать поиск или задовать так, но все равно ничего не ищет

                            mySearchModel.searchTerm = ""
                            

                            Также пробовал вводить в поиск номер дома на экране, тоже ничего не ищет

                            mySearchModel.searchTerm = "211 к2"
                            

                            Но по названию магазина находит объект

                            mySearchModel.searchTerm = "Золотой Вавилон"
                            

                            По названиям улиц он выводит количество видимых участков дорого:

                            mySearchModel.searchTerm = "проспект Мира"
                            

                            По индексу выдает тоже 1 результат, видимо район.
                            Скажите пожалуйста как задать поиск так, что-бы получать все здания?

                              Evgenii Legotckoi
                              • July 4, 2019, 8:05 a.m.
                              • (edited)

                              Я не уверен, что через эту модель вообще можно найти все объекты в области.

                              Однако по запросу можно найти, что интересует.

                              Вот на этой странице есть несколько полезных примеров поиска

                                Михаиллл
                                • July 4, 2019, 8:41 a.m.

                                Спасибо за ссылку. Но там забор информации идет через PlaceSearchModel .
                                Можно ли иначе забрать информацмю или может быть можно иначе задать поиск, чтобы получать в результате все здания?

                                  Михаиллл
                                  • July 4, 2019, 12:41 p.m.
                                  • (edited)

                                  Может быть как-то можно в PlaceSearchModel задать поис по типу (имею ввиду поиск только по зданиям, улицам)?

                                    Михаиллл
                                    • July 4, 2019, 1:20 p.m.

                                    Есть свойство: Place.UnspecifiedVisibility , оно должно показывать область видимости для всей недвижимости. Может это можно как то прикрутить? Или может быть можно как-то получить все объекты с карты и прогнать их через Place.UnspecifiedVisibility ?

                                      Михаиллл
                                      • July 5, 2019, 6:53 a.m.

                                      Попробовал получить хоть что-нибудь из карты, но нечего не выводит:

                                                      console.log("mapParametеrs: " + maps.mapParameters)
                                                      console.log("mapItems: " + maps.mapItems)
                                      

                                      Похоже все данные об объектах хранятся в Plugin.
                                      Нет ли у вас других идей, как можно достать из плагина все объекты или только нужные объекты?

                                        Evgenii Legotckoi
                                        • July 5, 2019, 9:16 a.m.

                                        Честно говоря дальше и глубже в этом вопросе я уже сам теряюсь, учитывая, что не работал с этим плагином. Пока мыслей нет на этот счёт.

                                        Возможно что-то может подсказать само API Open Maps. Плагин QML же его использует.

                                          Михаиллл
                                          • July 5, 2019, 11:08 a.m.

                                          Похоже остается только 2 варианта:
                                          1. Через каждые 10 метров запрашивать место, научиться отличать дома от не домов, потом определять их координаты и потом выводить на экран.
                                          2. Через API запрашивать информацию о домах.
                                          Наверно 2 вариант более адекватный. Но тут сталкнулся с недостатком информации. На форму OSM не обсуждался такой вопрос. В Документации не смог найти, нашел только key = building. Не могли бы Вы глянуть на это API?

                                            Михаиллл
                                            • July 6, 2019, 12:13 p.m.
                                            • (edited)

                                            Попробовал переберать все точки с шагом 10 м, что-бы точно попасть в дом, но это парсится слишком долго. Похоже единственный вариант - запрос по API. У Вас нет идей, как это можно сделать?

                                                                console.log("go")
                                                                for (var a = visibleRegion.boundingGeoRectangle().topLeft.latitude; a <= visibleRegion.boundingGeoRectangle().topLeft.latitude + visibleRegion.boundingGeoRectangle().width; a += 0.000000000001404)
                                                                {
                                                                    for (var b = visibleRegion.boundingGeoRectangle().topLeft.longitude; b <= visibleRegion.boundingGeoRectangle().topLeft.longitude + visibleRegion.boundingGeoRectangle().height; b += 0.000000000001404)
                                                                    {
                                                                        //console.log("a: " + a + " b: " + b)
                                                                        //console.log()
                                                                    }
                                                                }
                                                                console.log("stop")
                                            
                                              Михаиллл
                                              • July 8, 2019, 8:08 a.m.

                                              Тут нашел немного документации .
                                              Получилось сделать такие запросы

                                              https://taginfo.openstreetmap.org/api/4/key/combinations?key=building&bbox=51.249,7.148,51.251,7.152
                                              https://taginfo.openstreetmap.org/api/4/key/similar?key=building&bbox=55.769774,37.625700,55.769339,37.628411
                                              https://taginfo.openstreetmap.org/api/4/search/by_value?query=building&bbox=55.769774,37.625700,55.769339,37.628411
                                              https://taginfo.openstreetmap.org/api/4/key/similar?key=building&bbox=51.249,7.148,51.251,7.152
                                              

                                              Что то они выдают, но нет координат домов. Видимо нужно добавить какие-то фильтры или еще что-то

                                                Evgenii Legotckoi
                                                • July 8, 2019, 10:48 a.m.

                                                Я открыл, посмотрел, закрыл....

                                                Теоретически, может и возможно выдрать оттуда то, что хотите... но наверное, так и придётся искать...

                                                  Михаиллл
                                                  • July 8, 2019, 1:07 p.m.

                                                  Тех поддрежка Qt говорит что номера домов включает MapType.PedestrianMap .
                                                  Подскажите пожалуйста, как можно воспользоваться этим свойством.
                                                  Пока все, из того, что я пробовал с ним делать не работает.

                                                    Михаиллл
                                                    • July 9, 2019, 4:18 a.m.
                                                    • (edited)

                                                    Вот так получаются номера домов, но остаются водные знаки на экране, может быть Вы знаете, как их убрать

                                                    activeMapType: maps.supportedMapTypes[5] //3 ночь
                                                    

                                                    PS: такой запрос возвращает номера домов, но без координат

                                                    http://overpass.openstreetmap.fr/api/interpreter?data=[out%3Ajson]%3Bway["building"](55.809007,37.640680,55.809730,37.643153)%3B(._%3B>%3B)%3Bout%3B
                                                    
                                                      Михаиллл
                                                      • July 9, 2019, 4:51 a.m.

                                                      Получил Тут ключ, осталось понять, как его использовать.

                                                        Evgenii Legotckoi
                                                        • July 9, 2019, 4:51 a.m.

                                                        По ходу, вам нужно получить ключ для API. Обычно регистрируются в сервисе и получают ключ. Там есть регистрация?

                                                          Evgenii Legotckoi
                                                          • July 9, 2019, 4:52 a.m.

                                                          Посмотрите в описании запросов для API. Там наверняка нужно просто добавить переменную с ключом

                                                            Михаиллл
                                                            • July 9, 2019, 5:37 a.m.

                                                            На сайте, где получил ключ написанно следующие:

                                                            Это нужно как то указать в плагине . Может быть Вы знаете как?
                                                            Раньше у меня в коде было написанно так, видимо нужно на это опираться для модификации

                                                            //            PluginParameter { name: "osm.useragent"; value: "My great Qt OSM application" }
                                                            //            PluginParameter { name: "osm.mapping.host"; value: "http://osm.tile.server.address/" }
                                                            //            PluginParameter { name: "osm.mapping.copyright"; value: "All mine" }
                                                            //            PluginParameter { name: "osm.routing.host"; value: "http://osrm.server.address/viaroute" }
                                                            //            PluginParameter { name: "osm.geocoding.host"; value: "http://geocoding.server.address" }
                                                            //            PluginParameter { name: "osm.places.host"; value: "http://geocoding.server.address" }
                                                            
                                                              Михаиллл
                                                              • July 9, 2019, 5:59 a.m.

                                                              Делается наверно как то так, но конкретно так не работает

                                                              PluginParameter {name: "osm.mapping.apikey" ; value:"мой ключ"}
                                                              

                                                              Для гугла наверно работает так

                                                              
                                                                  Plugin {
                                                                      id: googleMaps
                                                                      name: "googlemaps" // "mapboxgl", "esri", ...
                                                                      // specify plugin parameters if necessary
                                                                       PluginParameter {
                                                                           name:"googlemaps.maps.apikey"
                                                                           value:"*******My Api Key*********"
                                                                       }
                                                              
                                                              

                                                                Comments

                                                                Only authorized users can post comments.
                                                                Please, Log in or Sign up
                                                                AD

                                                                C ++ - Test 004. Pointers, Arrays and Loops

                                                                • Result:50points,
                                                                • Rating points-4
                                                                m

                                                                C ++ - Test 004. Pointers, Arrays and Loops

                                                                • Result:80points,
                                                                • Rating points4
                                                                m

                                                                C ++ - Test 004. Pointers, Arrays and Loops

                                                                • Result:20points,
                                                                • Rating points-10
                                                                Last comments
                                                                i
                                                                innorwallNov. 15, 2024, 1:27 p.m.
                                                                Release of C++/Qt and QML application deployment utility CQtDeployer v1.4.0 (Binary Box) optionally substituted alkoxy, optionally substituted alkenyloxy, optionally substituted alkynyloxy, optionally substituted aryloxy, OCH, OC H, OC H, OC H, OC H, OC H, OC H, O C CH, OCH CH OH, O…
                                                                i
                                                                innorwallNov. 15, 2024, 8:26 a.m.
                                                                Qt/C++ - Lesson 031. QCustomPlot – The build of charts with time buy generic priligy We can just chat, and we will not lose too much time anyway
                                                                i
                                                                innorwallNov. 15, 2024, 6:03 a.m.
                                                                Qt/C++ - Lesson 060. Configuring the appearance of the application in runtime I didnt have an issue work colors priligy dapoxetine 60mg revia cost uk August 3, 2022 Reply
                                                                i
                                                                innorwallNov. 14, 2024, 11:07 p.m.
                                                                Circuit switching and packet data transmission networks Angioedema 1 priligy dapoxetine
                                                                i
                                                                innorwallNov. 14, 2024, 10:42 p.m.
                                                                How to Copy Files in Linux If only females relatives with DZ offspring were considered these percentages were 23 order priligy online uk
                                                                Now discuss on the forum
                                                                i
                                                                innorwallNov. 14, 2024, 2:39 p.m.
                                                                добавить qlineseries в функции priligy amazon canada 93 GREB1 protein GREB1 AB011147 6
                                                                i
                                                                innorwallNov. 11, 2024, 9:55 p.m.
                                                                Всё ещё разбираюсь с кешем. priligy walgreens levitra dulcolax carbs The third ring was found to be made up of ultra relativistic electrons, which are also present in both the outer and inner rings
                                                                9
                                                                9AnonimOct. 25, 2024, 7:10 p.m.
                                                                Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

                                                                Follow us in social networks