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

Формирование и обработка двумерных массивов

10.03.2013, 15:05. Показов 2270. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сформировать двумерный массив Z(10,3) из случайных чисел, принадлежащих отрезку[-2;15].Получить и вывести одномерный массив P, где Pi– сумма элементов, расположенных за первым отрицательным элементом в i-й строке; если все элементы строки неотрицательны, то принять Pi=100.
Никак не получается. Уже голову сломал, а сдавать уже надо.

P.S. Если не затруднит, то полностью, т.е с процедурами ввода\вывода.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.03.2013, 15:05
Ответы с готовыми решениями:

Вывод двумерных массивов в DataGridView
Есть динамический двумерный массив, нужно вывести его в DataGridView. Помогите пожалуйста, сегодня началась тема, а на завтра уже нужно...

Формирование данных xml, обработка текста
Доброго всем дня! Подскажите как вести обработку данных внутри текстового файла, (здесь в xml). Допустим создал иксемельку записал там...

Формирование двумерных массивов
Добрый день! Сформировать матрицы произвольной размерности на рабочем листе Excel

3
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 6
18.03.2013, 03:02  [ТС]
Помогите пожалуйста. Исправьте что нужно

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Option Explicit On
Public Class Form1
    Sub mas(ByVal a(,) As Integer)
        Dim i, j As Integer
        ReDim a(10, 3)
        For i = 0 To 9
            For j = 0 To 2
                a(i, j) = CInt(2 + 2 * Rnd())
            Next j
        Next i
    End Sub
    Sub pr(ByRef a(,) As Integer, ByRef b() As Integer)
        Dim i, j, p, q, s As Integer
        p = a.GetLength(0) - 1
        q = a.GetLength(1) - 1
        For i = 0 To q
            s = 0
            For j = 0 To p
                s = s + a(j, i)
                If a(j, i) > 0 Then
                    b(j) = 100
                Else
                    b(j) = 0
                    b(j + 1) = s
                End If
            Next
        Next
    End Sub
    'Процедура форматированного вывода двумерного массива 
    Sub vivodSngMac(ByRef a(,) As Integer, ByRef LB As ListBox)
        Dim i, j, m, n As Integer
        Dim z, z1 As String
        m = a.GetLength(0) - 1
        n = a.GetLength(1) - 1
        For i = 0 To m
            z = ""
            For j = 0 To n
                z1 = Format(a(i, j), "00")
                If a(i, j) < 0 Then
                    z1 = Space(2) + z1
                Else
                    z1 = Space(3) + z1
                End If
                z = z + z1
            Next j
            LB.Items.Add(z)
        Next i
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim a(10, 3) As Integer
        Dim b(99) As Integer
        mas(a)
        vivodSngMac(a, ListBox1)
        pr(a, b)
        ListBox1.Items.Clear()
        ListBox2.Items.Clear()
 
    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        End
    End Sub
End Class
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
18.03.2013, 05:24
Исправлять — дело неблагодарное, лучше написать заново. На форме два листбокса и кнопка:
Кликните здесь для просмотра всего текста
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
    Private arSource(,) As Integer 'Исходный массив
    Private arResult() As Integer 'Конечный массив
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        'Заполнение массива
        FillArray(arSource)
        'Очистка листбоксов для отображения исходного и конечного массивов
        ListBox1.Items.Clear()
        ListBox2.DataSource = Nothing
        'Двумерный массив почему-то не отображается.
        'Поэтому загрузка циклом
        'ListBox1.MultiColumn = True
        'ListBox1.ColumnWidth = 25
        'ListBox1.DataSource = arSource
        'Загрузка исходного массива в листбокс. Колонки разделены табуляцией
        For i As Integer = 0 To arSource.GetUpperBound(0)
            ListBox1.Items.Add(String.Format("{1}{0}{2}{0}{3}", vbTab, arSource(i, 0), arSource(i, 1), arSource(i, 2)))
        Next
        'Определение конечного массива
        ReDim arResult(arSource.GetUpperBound(0))
        Dim sum As Integer 'Сумма элементов после первого отрицательного
        Dim NoNegativ As Boolean 'Флаг, что встретился отрицательный элемент
        'Перебор элементов конечного массива
        For i As Integer = 0 To arResult.GetUpperBound(0)
            'Инициализация переменных перед каждой строкой
            NoNegativ = False : sum = 0
            'Перебор элементов i-й строки исходного массива
            For j As Integer = 0 To arSource.GetUpperBound(1)
                If NoNegativ Then
                    'Суммирование элементов, если прошли первый неотрицательный элемент
                    sum += arSource(i, j)
                Else
                    'Переключение флага на отрицательном элементе i-й строки исходного массива
                    NoNegativ = arSource(i, j) < 0
                End If
            Next
            'Занесение суммы в конечный массив. Если флаг не переключался, т.е. 
            'в i-й строке не встретился отрицательный элемент, то записываем 100
            arResult(i) = IIf(NoNegativ, sum, 100)
        Next
        'Отображение конечного массива в листбоксе
        ListBox2.DataSource = arResult
    End Sub
 
    'Процедура заполнения массива
    Private Sub FillArray(ByRef ar(,) As Integer, Optional ByVal rows As Integer = 10, Optional ByVal cols As Integer = 3)
        Dim rand As New Random() 'Переменная для генерации случайных чисел
        ReDim ar(rows - 1, cols - 1) 'Инициализация массива
        'Заполнение массива значениями
        For i As Integer = 0 To ar.GetUpperBound(0)
            Randomize()
            For j As Integer = 0 To ar.GetUpperBound(1)
                'Запись в массив очередного целого из заданного диапазона
                ar(i, j) = rand.Next(-2, 15)
            Next
        Next
    End Sub
1
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
18.03.2013, 05:32
Забыл. Контроль правильности работы
Изображения
 
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.03.2013, 05:32
Помогаю со студенческими работами здесь

Формирование двумерных массивов VBA
Сформировать матрицы произвольной размерности на рабочем листе Excel

Задачи на формирование двумерных массивов
Записать матрицу случайными числами. Отобразить верхнюю половину матрицы на нижнюю зеркально симметрично относительно горизонталь ной оси.

Формирование двумерных массивов и выполнение операций с матричными элементами
Подготовить и организовать на ПЭВМ вычисления двумерных массивов (матриц) и обработку элементов матриц формула у меня такая C(I, K)...

Формирование двумерных массивов. Сформировать матрицы произвольной размерности на рабочем листе Excel
Здравствуйте. Люди добрые помогите пожалуйста. Формирование двумерных массивов. Сформировать матрицы произвольной размерности на...

Обработка двумерных массивов
Дана вещественная матрица А(N,M). Составить программу замены всех положительных элементов матрицы на элемент, имеющий минимальное...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru