Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для Skeptik
0 / 0 / 1
Регистрация: 21.10.2009
Сообщений: 88

Матрица, замена элементов

03.06.2010, 21:18. Показов 778. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
в заданном массиве б(i,j) поменять местами в каждом ряде максимальный элемент с диагональным

ВБА недавно начал изучать) пока что делаю на паскале, а потом переделываю на вба)
Но в этот раз не прокатило(
вот на паскале рабочая
Pascal
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
program n1;
uses crt;
const L=10;
type T2Mx = array[1.. L,1..L] of integer;
var A: T2Mx;
i,j,N:byte;
Max,buf,max_i,max_j:integer;
begin
clrscr;
writeLn('razmernost matrici:');
readLn(N);
for i:=1 to N do
for j:=1 to N do
begin
a[i,j]:=random(9);
end;
writeLn('matrica:');
for i:=1 to N do
begin
for j:=1 to N do
write(A[i,j]:4);
writeLn;
end;
for i:=1 to N do
begin
        max:= A[i,1];
        for j:=1 to N do
                if A[i,j]>max then
                begin
                        max:=A[i,j];
                        max_i:=i;
                        max_j:=j;
                end;
        writeln('Max =',max);
        buf:= A[i,i];
        A[i,i]:=A[max_i,max_j];
        A[max_i,max_j]:=buf;
end;
writeLn('matrica preobraz:');
for i:=1 to N do
    begin
      for j:=1 to N do
      write(A[i,j]:4);
       writeLn;
    end;
    readln;
end.
А это переделал на ВБА
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
25
26
27
28
29
30
31
32
33
34
35
36
Sub lab7()
Dim b(1 To 100, 1 To 100) As Integer
Dim i As Integer, j As Integer, n As Integer, m As Integer
Dim max As Integer, buf As Integer, max_i As Integer, max_j As Integer
Dim s As String, l As String
n = InputBox("Vvedite n:")
m = InputBox("Vvedite m:")
For i = 1 To n
For j = 1 To m
b(i, j) = InputBox(i, j)
s = s + Str(b(i, j))
Next j
s = s + Chr(13)
Next i
MsgBox s
For i = 1 To n
max = b(i, 1)
For j = 1 To m
If b(i, j) > max Then
max = b(i, j)
max_i = i
max_j = j
End If
buf = b(i, i) 
b(i, i) = b(max_i, max_j) ' >>>>>>>>>>>>>> Здесь выдаёт ошибку(
b(max_i, max_j) = buf
Next j
Next i
For i = 1 To n
For j = 1 To m
l = l + Str(b(i, j))
Next j
l = l + Chr(13)
Next i
MsgBox l
End Sub
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.06.2010, 21:18
Ответы с готовыми решениями:

Матрица: рассчитать сумму положительных элементов 3-ей строки и произведение элементов побочной диагонали
Помогите с решением пожалуйста: Дана квадратная матрица n*n. Составить программу и рассчитать сумму положительных элементов третьей строки...

Замена элементов матрицы
Дана матрица B . Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их с первым и последним элементом строки...

Замена элементов в одномерном массиве
Помогите пожалуйста с написанием данной программы: Дан массив натуральных чисел. Заменить все элементы массива,предшествующие первому...

1
здесь больше нет...
3376 / 1674 / 184
Регистрация: 03.02.2010
Сообщений: 1,219
03.06.2010, 21:53
чутка подделал
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
   Dim b() As Integer
   Dim i As Integer, j As Integer, n As Integer, m As Integer
   Dim max As Integer, buf As Integer, max_j As Integer
   Dim s As String
   
   Randomize
   
   n = Val(InputBox("Vvedite n:", , 5))
   m = n
   ReDim b(1 To 100, 1 To 100) As Integer
'   m = InputBox("Vvedite m:")
 
   For i = 1 To n
      For j = 1 To m
         b(i, j) = InputBox(i & ", " & j, , Int(Rnd * 50) + 1)
         s = s & b(i, j) & vbTab
      Next j
      s = s & vbNewLine
   Next i
'   MsgBox s
   
   For i = 1 To n
      max = b(i, 1)
      max_j = 1
      For j = 1 To m
         If b(i, j) > max Then
            max = b(i, j)
            max_j = j
         End If
      Next j
      buf = b(i, i)
      b(i, i) = b(i, max_j) '>>>>>>>>>>>>>> Здесь выдаёт ошибку(
      b(i, max_j) = buf
   Next i
   
   s = s & String(30, "-") & vbNewLine
   For i = 1 To n
      For j = 1 To m
         s = s & b(i, j) & vbTab
      Next j
      s = s & vbNewLine
   Next i
   MsgBox s
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.06.2010, 21:53
Помогаю со студенческими работами здесь

Замена определенных элементов в массиве
2. Замените в массиве из 10 случайных чисел, каждое из которых лежит в пределах от 1 до 10, все нечетные элементы единицами и выведите...

матрица T(N,M), замена элементов
Помогите пожалуйста, мозги кипят уже. :( В заданной матрице T(N,M), которая содержит только целые числа, заменить первый не положительный...

Матрица: поиск, сумма, замена элементов
Не записывает в новый массив Б результат + выводит полную чушь и слишком много лишнего на выводе. Не понимаю как исправить:( Помогите...

Матрица.Проверка столбцов.Замена всех элементов
Условие задачи: Дан двумерный массив размером 5х5. Если среднее арифметическое каждого столбца матрицы А меньше заданной величины Т,...

Матрица: замена элементов, вставка и удаление строк / столбцов
дан двумерный массив размером 5*6, заполненный случайным образом 1. заменить максимальный элемент каждой строки на противоположный 2....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru