Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 8

Создание многомерного массива с ячейками и номерами

28.07.2016, 08:01. Показов 921. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите пожалуйста!!! Я только только начала изучать Visual Basic.
Помощь вот в чем:
1. у меня есть текстовый файл в котором 2 столбика, цифры
2. первый столбик от 1 до 13824 (цифры могут повторятся много раз поэтому число строк будет больше) "ЭТО ЯЧЕЙКИ"
3. второй столбик тоже цифры и от 1 до неизвестно)))) "ЭТО НОМЕРА ЭЛЕМЕНТОВ"
4. мне нужно создать массив (и записать его в файл) что бы вид был таким: 1 столбик от 1 до 13824 (цифры не повторяются) а 2 столбик тоже цифры номеров элементов которые относятся к ячейке
например
ячейка элементы
1 5 10 1000 8989 12564
2 1 55 156987
3 5 10 156777 56987 12546 25632
и т д

буду очень признательна
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.07.2016, 08:01
Ответы с готовыми решениями:

Создание многомерного массива
Как можно создать подобный многомерный массив (указанный в коде) на JavaScript???? //php-code $wid = array(121,126,131,138,144,154); ...

Создание многомерного массива
Здравствуйте. Подскажите пожалуйста, возможно ли в php такое? есть массив и переменная $path = array('body','text','t'); ...

Создание многомерного массива в JS
можно ли создать в JS массив без муторного описания типа: price_array = new Array(1,2); price_array = new Array(1,2); price_array =...

16
27 / 27 / 9
Регистрация: 19.08.2014
Сообщений: 77
28.07.2016, 09:07
Тут действительно нужен многомерный массив? Если задача стоит только в сортировке, то тут хватит и одномерного. То есть примерно так: читаем построчно файл, первое число используем как индекс массива, а второе просто дописываем к элементу с этим индексом. С кодом нужна помощь или справитесь?
1
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 8
28.07.2016, 09:28  [ТС]
спасибо!
С кодом нужна помощь))))

Добавлено через 12 минут
спасибо!
С кодом нужна помощь))))
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
28.07.2016, 10:12
Цитата Сообщение от Ляйля Посмотреть сообщение
например
ячейка элементы
1 5 10 1000 8989 12564
2 1 55 156987
3 5 10 156777 56987 12546 25632
и т д
Пока Вы это не написали, я считал, что понял задачу.
Речь шла о двух столбиках, а Вы что показываете?
1
27 / 27 / 9
Регистрация: 19.08.2014
Сообщений: 77
28.07.2016, 10:31
Если я правильно понял задачу, то примерно так:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        Dim InputPath = "C:\Input.txt" 'Файл с исходными данными
        Dim OutputPath = "C:\Output.txt" 'Файл с обработанными данными
        Dim OutputTXT As String = String.Empty
 
        Dim OutputArr(13823) As String
 
        Dim Input As String = My.Computer.FileSystem.ReadAllText(InputPath)
 
        For Each Line As String In Input.Split(vbCrLf)
            OutputArr(Line.Split(" ").First - 1) += " " & Line.Split(" ").Last
        Next
 
        For Ind = 0 To 13823
            OutputTXT += Ind + 1 & OutputArr(Ind) & vbCrLf
        Next
 
        My.Computer.FileSystem.WriteAllText(OutputPath, OutputTXT, False)
0
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 8
28.07.2016, 10:47  [ТС]
спасибо!!!
Я попробовала и выдает ошибку
Скрин во вложении
Миниатюры
Создание многомерного массива с ячейками и номерами  
0
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 8
28.07.2016, 10:49  [ТС]
поэтому хотела создать многомерный массив: 1 столбик ячейки а второй и СЛЕДУЮЩИЕ (забыла написать) это номера элементов которые относятся к данной ячейке
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
28.07.2016, 11:19
Так второй столбец может состоять из нескольких чисел, получается, их количество не фиксировано.

Выходит, задача сводится только к удалению дубликатов в файле или все же этот "многомерный" массив понадобится где-то в программе?
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
28.07.2016, 11:21
у вас несколтко чисел в одной ячейке записывается?
0
27 / 27 / 9
Регистрация: 19.08.2014
Сообщений: 77
28.07.2016, 11:22
А так?
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 Dim InputPath = "C:\Input.txt" 'Файл с исходными данными
        Dim OutputPath = "C:\Output.txt" 'Файл с обработанными данными
        Dim OutputTXT As String = String.Empty
 
        Dim OutputArr(13823) As String
 
        Dim Input As String = My.Computer.FileSystem.ReadAllText(InputPath)
 
        For Each Line As String In Input.Split(New String() {vbCrLf}, StringSplitOptions.RemoveEmptyEntries)
            Dim Data() = Line.Split(New String() {" "}, StringSplitOptions.RemoveEmptyEntries)
            MsgBox(Line)
            OutputArr(Data(0) - 1) += " " & Data(1)
        Next
 
        For Ind = 0 To 13823
            OutputTXT += Ind + 1 & OutputArr(Ind) & vbCrLf
        Next
 
        My.Computer.FileSystem.WriteAllText(OutputPath, OutputTXT, False)
1
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 8
28.07.2016, 11:36  [ТС]
Я наверное не правильно написала:
во вложении текстовый документ (часть документа).
в первом столбике номера ячеек, которые повторяются
во втором столбике номера элементов
мне нужно все это отсортировать и записать в текстовый файл в виде массива многомерного (размер не знаю)
7193 1 2 21
7192 3 23
7191 4 5 24 25
и т д
Вложения
Тип файла: txt out.txt (542 байт, 5 просмотров)
0
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 8
28.07.2016, 11:38  [ТС]
[/quote]

спасибо за ответ, но кажется не то)))
Вложения
Тип файла: txt out.txt (542 байт, 3 просмотров)
0
1548 / 1521 / 325
Регистрация: 03.10.2012
Сообщений: 1,551
28.07.2016, 11:57
Придется включать экстрасенсорику.
Вы хотите получить из исходного файла (который во вложении), файл в формате, показанном в первом посте
(где будут указаны повторяющиеся элементы). Так?
1
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 8
28.07.2016, 12:00  [ТС]
да!!!
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4359 / 3429 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
28.07.2016, 13:07
а номера ячеек у вас в виде числа??? А как известно, ячейка имеет две координаты (Column, Row)... Как у вас то?
0
0 / 0 / 0
Регистрация: 28.07.2016
Сообщений: 8
28.07.2016, 13:16  [ТС]
ячейки в виде числа
0
1548 / 1521 / 325
Регистрация: 03.10.2012
Сообщений: 1,551
29.07.2016, 20:45
Если еще актуально, то можно так
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Imports System.Collections.Generic
 
Public Class Form1
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim InputPath = "C:\Input.txt" 'Файл с исходными данными
        Dim OutputPath = "C:\Output.txt" 'Файл с обработанными данными
 
        Dim inputTable() As String = IO.File.ReadAllLines(InputPath)
        Dim outputTable As New HashSet(Of String)
        Dim tempTable As New Dictionary(Of String, String)
 
        For Each el In inputTable
            el = RemoveSpases(el)
            Dim line() = el.Split(" ")
            tempTable.Add(line(1), line(0))
        Next
 
        For Each el In tempTable
            outputTable.Add(el.Value & " " & String.Join(" ", GetRepeatElements(el.Value, tempTable)))
        Next
        IO.File.WriteAllLines(OutputPath, outputTable)
    End Sub
 
    Private Function GetRepeatElements(ByVal val As String, ByVal tbl As Dictionary(Of String, String)) As List(Of String)
        Return (From itm In tbl Where itm.Value = val Select itm.Key).ToList
    End Function
 
    'Эту функцию можно было бы не писать, если бы исходный файл не содержал лишних пробелов
    Private Function RemoveSpases(ByVal str As String) As String
        Dim words As List(Of String) = str.Split(" ").Where(Function(sp) sp <> Nothing).ToList
        Return String.Join(" ", words)
    End Function
End Class
В исходном файле удалите лишние символы перевода строки. Они не видны, но они там есть.
Не стал с этим морочиться чтобы не усложнять пример.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.07.2016, 20:45
Помогаю со студенческими работами здесь

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

Создание многомерного массива
Создать многомерный массив я смог, но как создать его такого вида? public class НовыйClass { public static void...

Создание многомерного массива
Создать многомерный массив 4x3 элементов. по данному примеру. Пример. #include &lt;stdio.h&gt; main() { Int mas; /* создаём...

создание нового массива из многомерного
Добрый день. Есть у меня двумерный массив: $array = ; из него хочу собрать новый массив вида: $new_array = Делаю...

Создание многомерного массива-структур
Нужно создать и сразу заполнить массив-структур 20-6(6-строк, 20-столбцов) Например, структура: struct Train { public...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru