В массиве А (m,n) найдите количество всех чисел, по модулю меньших заданного Т - VB
Формулировка задачи:
1.1 В массиве А (m,n) найдите количество всех чисел, по модулю меньших заданного Т.
1.2 Измените исходный массив чтобы отрицательный последний элемент каждого столбца заменился нулём.1.3 Запишите строку a в обратном порядке в строку b. Посчитайте сколько одинаковых букв находятся на одинаковых местах в этих строках. Применяйте подпрограммы.
Обязательное условие этих двух задач - использовать процедуры либо функции.
Сделайте пожалуйста в vb, все коды есть написанные на паскале.1.1
1.2
1.3
Листинг программы
- Program wmc;
- var
- a: array [1..100,1..100] of integer;
- i, j, m, n, k: byte;
- t: integer;
- begin
- randomize;
- writeln('Vvedite razmer');
- readln(m,n);
- for i:= 1 to m do
- begin
- for j:= 1 to n do
- begin
- a[i,j]:= random(101)-50;
- writeln(a[i,j]:4);
- end;
- writeln;
- end;
- writeln;
- write('Vvedite t: ');
- readln(t);
- for i:= 1 to m do
- for j:= 1 to n do
- if abs(a[i,j])<5 then inc(k);
- writeln('Kolichestvo elementov',k);
- readln
- end.
Листинг программы
- uses crt;
- const nmax=20;
- type matr=array [1..nmax,1..nmax] of integer;
- var a: matr;
- n,m: byte;
- procedure GenM (ri,rj: byte; var z: matr);
- var i,j: byte;
- begin
- for i:=1 to ri do
- for j:=1 to rj do
- z[i,j]:=random(15)-5;
- end;
- procedure PrintM (ri,rj: byte; z: matr);
- var i,j: byte;
- begin
- for i:=1 to ri do
- begin
- for j:=1 to rj do
- write(z[i,j]:4);
- writeln;
- end;
- end;
- procedure ModM (ri,rj: byte; var z: matr);
- var i,j,io: byte;
- begin
- for j:=1 to rj do
- begin
- io:=0;
- for i:=1 to ri do
- if z[i,j]<0 then io:=i;
- if io>0 then z[io,j]:=0;
- end;
- end;
- begin
- repeat
- write('Количество строк, не более ',nmax,', n=');
- readln(n);
- until n in [1..nmax];
- repeat
- write('Количество столбцов, не более ',nmax,', m=');
- readln(m);
- until m in [1..nmax];
- GenM (n,m,a);
- writeln('Исходная матрица');
- PrintM (n,m,a);
- ModM (n,m,a);
- writeln('Итоговая матрица');
- PrintM (n,m,a);
- readln;
- end.
Листинг программы
- uses crt;
- var a,b: string;
- procedure Reverce (s1: string; var s2: string);
- var i: byte;
- begin
- s2:='';
- for i:=length(s1) downto 1 do
- s2:=s2+s1[i];
- end;
- function KolSame (s1,s2: string): byte;
- var i,k: byte;
- begin
- k:=0;
- for i:=1 to length(s1) do
- if s1[i]=s2[i] then inc(k);
- KolSame:=k;
- end;
- begin
- write('a: ');
- readln(a);
- Reverce (a,b);
- writeln('b: ',b);
- writeln('Количество совпадающих букв на одинаковых позициях: ',KolSame (a,b));
- readln;
- end.
Решение задачи: «В массиве А (m,n) найдите количество всех чисел, по модулю меньших заданного Т»
textual
Листинг программы
- Dim a() As Integer
- Sub command1_click()
- Dim m As Integer, n As Integer
- m = InputBox("Количество строк m =")
- n = InputBox("Количество столбцов n =")
- OriginalMatrix m, n
- PrintMatrix m, n, "Исходная матрица"
- ModMatrix m, n
- PrintMatrix m, n, "Итоговая матрица"
- End Sub
- Sub PrintMatrix(strok As Integer, stolbzov As Integer, nameMas As String)
- Dim i As Integer, j As Integer
- Print nameMas
- For i = 1 To strok
- For j = 1 To stolbzov
- Print vbTab; a(i, j);
- Next
- Next
- End Sub
- Sub OriginalMatrix(strok As Integer, stolbzov As Integer)
- Dim i As Integer, j As Integer
- ReDim a(1 To strok, 1 To stolbzov)
- For i = 1 To strok
- For j = 1 To stolbzov
- a(i, j) = Rnd * (15) - 5
- Next
- Next
- End Sub
- Sub ModMatrix(strok As Integer, stolbzov As Integer)
- Dim i As Integer, j As Integer, io As Integer
- For j = 1 To stolbzov
- If a(strok, j) < 0 Then a(strok, j) = 0
- Next
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д