Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 3

Записать нули в ту строку и столбец, где находится элемент

19.12.2013, 19:09. Показов 1479. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Найти наименьший элемента двумерного массива A размером MxN и записать нули в ту строку и столбец,где он находится.

Первую часть работы я выполнил, но не могу понять, каким образом я могу узнать номер столбца и строки моего элемента, чтобы их обнулить.

Вот код первой части
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub sadвыфв()
Dim A(100, 100), x, y, i, j, s As Integer
x = InputBox("Введите количество строк")
y = InputBox("Введите количество столбцов")
For i = 1 To x
For j = 1 To y
A(i, j) = InputBox("Введите значение элемента матрицы")
Cells(i, j) = A(i, j)
If A(i, j) < s Then
s = A(i, j)
End If
Next
Next
MsgBox& s
End Sub
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.12.2013, 19:09
Ответы с готовыми решениями:

Найти наименьший элемент матрицы. Записать нули в строку и столбец, в которых он находится
Помоги пожалуйста написать программы по массивам... 1)дана матрица A (N;M).Вычислить наименьший элемент матрицы. Записать нули в строку и...

Найти минимальный элемент, записать нули в строку и столбец, где этот элемент находится
Из файла F прочесть матрицу М(10,15) .Найти минимальный элемент этой матрицы, записать нули в строку и в столбец, где этот элемент...

Найти наименьший элемент матрицы и записать нули в ту строку и столбец, где он находится
помогите сложить программу на языке С++ для Борланд это очень важно.. заранее спасибо в долгу не останусь.... Добавлено через 7...

5
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
19.12.2013, 19:50
Замечания по коду:
Visual Basic
1
Dim A(100, 100), x, y, i, j, s As Integer
1. размер массива неизвестен
2. переменные x, y, i, j имеют тип Variant, а не Integer
Предлагаю:
Visual Basic
1
Dim A&(), x&, y&, i&, j&, s&
а после ввода количества строк и колонок добавить строку:
Visual Basic
1
ReDim A(1 to x, 1 to y)
3. вводить значения элементов массива лучше генератором случайны чисел, примерно так:
Visual Basic
1
A(i, j) = Int(100 * Rnd) + 1
4.По Вашему коду минимальное значение всегда равно нулю (если конечно не введете отрицательное число), тем более такого значения в массиве не будет. Поэтому необходимо при записи первого элемента массива присвоить:
Visual Basic
1
If i=1 and j=1 then s=A(i,j)
1
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 3
19.12.2013, 20:24  [ТС]
toiai, мне завтра защищать эту работу, нас просто обучали по-другому, о типе переменных Variant я слышу в первые, поэтому записал так, а по поводу вашего 4 пункта, огромное спасибо.

Но все же, не знаете как обнулить столбец и строку?
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
19.12.2013, 20:52
Примерно так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub sadвыфв()
    Dim A&(), x&, y&, i&, j&, s&, r&, c&
    x = InputBox("Введите количество строк")
    y = InputBox("Введите количество столбцов")
    ReDim A(1 To x, 1 To y)
    For i = 1 To x
        For j = 1 To y
            A(i, j) = Int(100 * Rnd) + 1
            If i = 1 And j = 1 Then s = A(i, j): r = i: c = j
            If A(i, j) < s Then s = A(i, j): r = i: c = j
        Next
    Next
    Cells(1, 1).Resize(x, y) = A 'вывести массив на лист
    A(r, c) = 0 'заменить значения минимального элемента на 0
    Cells(1, 1).Offset(x + 2, 0).Resize(x, y) = A 'вывести измененный массив на лист
    MsgBox& s
End Sub
Извиняюсь, надо то строку и столбец, доработаю..
1
0 / 0 / 0
Регистрация: 19.12.2013
Сообщений: 3
19.12.2013, 20:55  [ТС]
спасибо большое.я уже справился. код конечно ужасно выглядит, но работает и я его могу объяснить. большое спасибо, еще раз)
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub sdasd()
Dim A(100, 100), x, y, i, j, b, c, s As Integer
x = InputBox("Vvedite kol-vo strok")
y = InputBox("Vvedite kol-vo stolbcov")
For i = 1 To x
For j = 1 To y
A(i, j) = InputBox("Vvedite element massiva")
If i = 1 And j = 1 Then s = A(i, j): Cells(7, 7) = s: b = i: c = j
If A(i, j) < s Then s = A(i, j): Cells(7, 7) = s: b = i: c = j
Cells(i, j) = A(i, j)
Next
Next
For j = 1 To y
A(b, j) = 0
Next
For i = 1 To x
A(i, c) = 0
Next
For i = 1 To x
For j = 1 To y
Cells(i, j) = A(i, j)
Next
Next
End Sub
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,087
19.12.2013, 21:01
Вот подкорректированный вариант:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub sadâûôâ()
    Dim A&(), x&, y&, i&, j&, s&, r&, c&
    x = InputBox("Ââåäèòå êîëè÷åñòâî ñòðîê")
    y = InputBox("Ââåäèòå êîëè÷åñòâî ñòîëáöîâ")
    ReDim A(1 To x, 1 To y)
    For i = 1 To x
        For j = 1 To y
            A(i, j) = Int(100 * Rnd) + 1
            If i = 1 And j = 1 Then s = A(i, j): r = i: c = j
            If A(i, j) < s Then s = A(i, j): r = i: c = j
        Next
    Next
    Cells(1, 1).Resize(x, y) = A 'âûâåñòè ìàññèâ íà ëèñò
    'A(r, c) = 0 'çàìåíèòü çíà÷åíèÿ ìèíèìàëüíîãî ýëåìåíòà íà 0
    For i = 1 To x
        A(i, c) = 0
        For j = 1 To y
            If i = r Then A(r, j) = 0
        Next
    Next
    Cells(1, 1).Offset(x + 2, 0).Resize(x, y) = A 'âûâåñòè èçìåíåííûé ìàññèâ íà ëèñò
    MsgBox& s
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.12.2013, 21:01
Помогаю со студенческими работами здесь

Найти наименьший элемент матрицы и записать нули в ту строку и столбец, где он находится
Помогите написать код Найти наименьший элемент матрицы X (m x n) и записать нули в ту строку и столбец, где он находится.

Найти наибольший элемент матрицы и записать нули в ту строку и столбец, где он находится
Найти наибольший элемент матрицы A(10,10) и записать нули в ту строку и столбец, где он находится. Вывести наибольший элемент, исходную и ...

Найти наибольший элемент матрицы и записать нули в эту строку и столбец, где он находится
найти наибольший элемент матрицы B (5,10) и записать нули в эту строку и столбец, где он находится

Массив: Найти наименьший элемент матрицы и записать нули в ту строку и столбец, где он находится
помогите решить задачи))) 15)Найти наименьший элемент матpицыX(M, N) и записать нули в ту стpоку и столбец, где он находится. ...

Найти наибольший отрицательный элемент матрицы и записать нули в те строку и столбец , где он находится
1)Сформировать матрицу A(N,N) случайным образом из целых чисел диапазона . найти наибольший отрицательный элемент матрицы и записать нули...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru