Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 18.01.2015
Сообщений: 5
1

Обнулить строку и столбец матрицы, на пересечении которых находится её максимальный элемент

18.01.2015, 22:07. Показов 762. Ответов 2
Метки нет (Все метки)

Не мог бы кто-нибудь помочь переписать такой код только для VBA пожалуйста
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
Var
  x: Array [1..20,1..20] of Integer;
  i,j,n,imax,jmax: Byte;
  max: Integer;
BEGIN
Write('Введите размер матрицы: ');
Readln(n);
Randomize;
max:=Low(max);
Writeln('Исходная матрица:');
For i:=1 to n do
begin
  For j:=1 to n do
  begin
    x[i,j]:=Random(100);
    If x[i,j]>max Then
    begin
      max:=x[i,j];
      imax:=i;
      jmax:=j;
    end;
    Write(x[i,j]:4);
  end;
  Writeln
end;
Writeln('MAX=',max,'; находится на ',imax,' строке, ',jmax,' столбце');
Writeln('Полученная матрица:');
For i:=1 to n do
begin
  For j:=1 to n do
  begin
    If (i=imax) or (j=jmax) Then
    x[i,j]:=0;
    Write(x[i,j]:4);
  end;
  Writeln
end;
Readln
END.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.01.2015, 22:07
Ответы с готовыми решениями:

Удалить из матрицы строку и столбец, на пересечении которых находится минимальный элемент
Нужна помощь с задачками по VBA Сформировать двумерный массив. Удалить из него строку и столбец,...

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

Обнулить строку и столбец матрицы, на пересечении которых находится её максимальный элемент
Привет,всем) Дана матрица размером mxn. Обнулить строку и столбец матрицы, на пересечении которых...

Дана матрица размером nxn. Обнулить строку и столбец матрицы, на пересечении которых находится её максимальный элемент
Решите, пожалуйста. Я просто не понимаю ничего...

2
5544 / 1349 / 148
Регистрация: 08.02.2009
Сообщений: 4,095
Записей в блоге: 30
19.01.2015, 12:06 2
С паскаля здесь переписывать не будут. Всё делается в четыре строки на Excel-VBA.

Трудно гонщика переделать в скорохода!
0
6070 / 1315 / 195
Регистрация: 12.12.2012
Сообщений: 1,024
19.01.2015, 13:52 3
Здравствуйте, Despirion,
На VBA приведенная выше программа будет выглядеть примерно так:

Кликните здесь для просмотра всего текста
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
Sub NullMaxElemRowColumn() 'Begin
    'Var
    Dim x(1 To 20, 1 To 20) As Integer 'x: Array [1..20,1..20] of Integer;
    Dim i As Byte, j As Byte, n As Byte, imax As Byte, jmax As Byte 'i,j,n,imax,jmax: Byte;
    Dim max_ As Integer 'max: Integer;
    Dim message As String 'Буфер вывода.
    n = InputBox("Введите размер матрицы:") 'Write('Введите размер матрицы: '); Readln(n);
    If n > 20 Then n = 20: If n < 0 Then n = 0 'Страховка на случай некорректного ввода.
    Randomize
    max_ = -32768 'max:=Low(max);
    message = "Исходная матрица:" & vbCr 'Writeln('Исходная матрица:');
    For i = 1 To n 'For i:=1 to n do begin
        For j = 1 To n 'For j:=1 to n do begin
            x(i, j) = Int(Rnd() * 100) 'x[i,j]:=Random(100);
            If x(i, j) > max_ Then 'If x[i,j]>max Then begin
                max_ = x(i, j) 'max:=x[i,j];
                imax = i 'imax:=i;
                jmax = j 'jmax:=j;
            End If 'end;
            message = message & x(i, j) & vbTab 'Write(x[i,j]:4);
        Next j 'end;
        message = message & vbCr 'Writeln
    Next i 'end;
    'Writeln('MAX=',max,'; находится на ',imax,' строке, ',jmax,' столбце');
    message = message & "MAX = " & max_ & "; находится на " & imax & " строке, " & jmax & " столбце." & vbCr
    message = message & "Полученная матрица:" & vbCr 'Writeln('Полученная матрица:');
    For i = 1 To n 'For i:=1 to n do begin
        For j = 1 To n 'For j:=1 to n do begin
            If (i = imax) Or (j = jmax) Then x(i, j) = 0 'If (i=imax) or (j=jmax) Then x[i,j]:=0;
            message = message & x(i, j) & vbTab 'Write(x[i,j]:4);
        Next j 'end;
        message = message & vbCr 'Writeln
    Next i 'end;
    MsgBox message 'Readln
End Sub 'End.

С уважением,
Аксима
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.01.2015, 13:52

Помощь в написании контрольных, курсовых и дипломных работ здесь.

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

Обменять строку и столбец матрицы, на пересечении которых находится ее максимальный элемент
Добрый вечер. Помогите пожалуйста как можно скорее сделать задачку по Assembler. Буду очень вам...

Удалить строку и столбец матрицы, на пересечении которых находится максимальный элемент
Сформировать матрицу 5*5 случайных целых чисел в диапазоне от -20 до 60. Напечатать матрицу. Найти...

Исключить из матрицы строку и столбец, на пересечении которых находится максимальный элемент
сформировать случайным образом матрицу размером N*M, где N,M- натуральные числа. исключить из нее...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.