Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/29: Рейтинг темы: голосов - 29, средняя оценка - 4.90
2 / 2 / 1
Регистрация: 08.07.2017
Сообщений: 42

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

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

Студворк — интернет-сервис помощи студентам
Добрый день форумчане! Я новичок в 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
1548 / 1521 / 325
Регистрация: 03.10.2012
Сообщений: 1,551
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
1548 / 1521 / 325
Регистрация: 03.10.2012
Сообщений: 1,551
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
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru