2 / 2 / 1
Регистрация: 08.07.2017
Сообщений: 42

Ввод массива размерностью N с клавиатуры без использования InputBox

16.07.2017, 14:35. Показов 5475. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день форумчане! Я новичок в VB раньше изучал pascal и немного Delphi. Решил изучить работу с массивами в VB, а конкретно на данном этапе способы ввода и вывода. Задачи такие:
1) Ввод массива размерностью N (я для упрощения взял размерность 10 элементов) через Random и вывод в label решено
2) Ввод массива размерностью N (я для упрощения взял размерность 10 элементов) через InputBox и вывод в label решено
3) Ввод массива размерностью N (я для упрощения взял размерность 10 элементов) с клавиатуры без использования InputBox

P.S. первые две задачи я решил, а третья задача актуальна. Спецы, жду советов и умных рекомендаций.

Код первых двух задач:

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
Public Class Form1
    Dim array(10) As Byte
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        'ввод через randomize и вывод в label
        Dim i As Byte
        Dim s As New Random
 
        Label1.Text = "Массив: "
        For i = 0 To 9
            array(i) = s.Next(1, 150)
            Label1.Text = Label1.Text + " " + CStr(array(i))
        Next
    End Sub
 
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        'ввод через InputBox и вывод в label
        Dim i As Byte
        Dim n As Object
        Label1.Text = "Массив: "
        For i = 0 To 9
            n = InputBox("Введите значение:")
            array(i) = CByte(n)
            Label1.Text = Label1.Text + " " + CStr(array(i))
        Next
    End Sub
End Class
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.07.2017, 14:35
Ответы с готовыми решениями:

Найти произведение цифр, стоящих в четных разрядах в целом числе n (ввод с клавиатуры) без использования массива
Найти произведение цифр, стоящих в четных разрядах в целом числе n (ввод с клавиатуры) без использования массива

Составить программу заполнения массива числами: 2-20. Без использования клавиатуры
Составить программу заполнения массива числами: 2-20. Без использования клавиатуры

Составьте программу заполнения массива числами без использования клавиатуры
Составьте программу заполнения массива числами: 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 без использования клавиатуры.

4
39 / 38 / 6
Регистрация: 17.07.2015
Сообщений: 380
Записей в блоге: 1
16.07.2017, 14:51
Цитата Сообщение от DabblerS Посмотреть сообщение
Ввод массива размерностью N с клавиатуры без использования InputBox
С помощью консоли можно?
1
1543 / 1506 / 324
Регистрация: 03.10.2012
Сообщений: 1,542
16.07.2017, 16:52
Лучший ответ Сообщение было отмечено DabblerS как решение

Решение

Цитата Сообщение от DabblerS Посмотреть сообщение
Ввод массива размерностью N (я для упрощения взял размерность 10 элементов) с клавиатуры без использования InputBox
Вариантов много, все зависит от фантазии. Например, вот так
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Label1.Text = "Введите через запятую элементы массива"
    End Sub
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim array() As String = Split(TextBox1.Text, ",")
        Label1.Text = String.Join(" ; ", array)
    End Sub
 
    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        Static n As Integer = 0
        If e.KeyChar = "," Then
            n += 1
            If n = 10 Then
                e.Handled = True
                MsgBox("Хватит!  Жми на кнопку Button1!")
            End If
        End If
    End Sub
Естественно, это только схема, без проверок на ошибки ввода
1
2 / 2 / 1
Регистрация: 08.07.2017
Сообщений: 42
16.07.2017, 19:58  [ТС]
Цитата Сообщение от SergProgrammer Посмотреть сообщение
С помощью консоли можно?
Можно, но не интересно.
Цитата Сообщение от MrCrown Посмотреть сообщение
Естественно, это только схема, без проверок на ошибки ввода
Протестировал ваш кусочек кода. Для меня как для новичка он интересен и у меня есть пару вопросов. Основной принцип я понял: вводим в textbox массив и считаем кол-во разделителей (чтобы избежать выхода за границы диапазона?) когда кол-во разделителей соответствует завершаем ввод и выводим массив в label
По синтаксису не понятны вот эти строчки, объясните, пожалуйста :
VB.NET
1
2
Dim array() As String = Split(TextBox1.Text, ",")
        Label1.Text = String.Join(" ; ", array)
0
1543 / 1506 / 324
Регистрация: 03.10.2012
Сообщений: 1,542
16.07.2017, 23:32
1. Функция Split как раз и возвращает одномерный массив, состоящий из подстрок входной строки.
То есть элементами массива являются части строки, находящиеся между разделителями ( в данном случае - запятыми)
Входная строка - содержимое TextBox1.
2. Функция Join делает обратное: сцепляет элементы массива, помещая между ними заданный разделитель
и возвращает строку.
То, что я здесь сейчас написал, вы можете увидеть в подсказке студии. Для этого нужно просто навести
курсор на элемент кода в редакторе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.07.2017, 23:32
Помогаю со студенческими работами здесь

Заполнить массив числами: 2,4,6,8,10,12,14,16,18,20 без использования клавиатуры
3. Составьте программу заполнения массива числами: 2,4,6,8,10,12,14,16,18,20 без использования клавиатуры. помогите пожалуйста решить...

Ввод через файл без использования потоков
Добрый день Меня интересует вопрос как сделать ввод через файл без использования потоков. Это вот так или нет? int main() { ...

Как получить символ клавиатуры без использования TextBox
Добрый день, всем! Уже пару дней борюсь с одной проблемой: Есть класс унаследованный от System.Windows.Controls.Control и все,...

Организовать ввод элементов двумерного массива размерностью NxM из текстового файла
У меня задания: 1. Организовать ввод элементов двумерного массива размерностью NxM из текстового файла. 2. вывести исходный массив в...

Перестановки элементов массива с размерностью N без повторений
Просмотрел не мало тем, но везде или слишком мудрено или не совсем то, что нужно. В общем мне нужен алгоритм (метод), который будет...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
Многопоточное программировани­е в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
Async/await в Swift: Асинхронное программировани­е в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
Колмогоровская сложность: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru