Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
infa.docx
Скачиваний:
4
Добавлен:
28.07.2019
Размер:
47.97 Кб
Скачать

Замена на главн и побочн диаг 0 на1

Dim A(10, 10) As Integer

Dim n As Integer

ListBox1.Items.Clear()

ListBox2.Items.Clear()

Vvod(n, A)

Vivod(n, A, ListBox1)

If Proverka(n, A) Then

MsgBox("не все элементы главной и побочной диагонали равны 0")

Else

Zamena(n, A)

Vivod(n, a, ListBox2)

End If

End Sub

Private Sub Vvod(ByRef n As Integer, ByRef A(,) As Integer)

Dim i, j As Integer

Do

n = Val(InputBox("Введите размер матрицы"))

Loop Until n > 0 And n <= 10

For i = 0 To n - 1

For j = 0 To n - 1

A(i, j) = Val(InputBox("Введите элемент (" + _

Str(i) + "," + Str(j) + ")"))

Next

Next

End Sub

Private Sub Vivod(ByVal n As Integer, ByVal A(,) As Integer, ByRef ListBox As ListBox)

Dim i, j As Integer

Dim st As String

For i = 0 To n - 1

st = ""

For j = 0 To n - 1

st = st + Str(A(i, j))

Next

ListBox.Items.Add(st)

Next

End Sub

Private Function Proverka(ByVal n As Integer, ByVal A(,) As Integer) As Boolean

Dim pr As Boolean

Dim i As Integer

pr = False

For i = 0 To n - 1

If A(i, i) <> 0 Or A(i, n - 1 - i) <> 0 Then

pr = True

End If

Next

Return pr

End Function

Private Sub Zamena(ByVal n As Integer, ByRef A(,) As Integer)

Dim i As Integer

For i = 0 To n - 1

A(i, i) = 1

A(i, n - 1 - i) = 1

Next

Строки(идеальная,проверка на числа)сумма)

Dim s1, s As String

Dim summa As Single

ListBox1.Items.Clear()

s1 = InputBox("Введите строку")

ListBox1.Items.Clear()

ListBox1.Items.Add(s1)

s = Ideal(s1)

ListBox2.Items.Add(s)

ListBox2.Items.Clear()

If Proverka(s) Then

MsgBox("числа в строке есть.")

summa = summa_chis(s)

s = s + " " + Str(summa)

ListBox2.Items.Add(s)

Else

MsgBox("Чисел в строке нет")

End If

End Sub

Private Function Ideal(ByVal s As String) As String

Do Until Strings.InStr(s, " ") = 0

s = Strings.Replace(s, " ", " ")

Loop

s = Trim(s)

Return (s)

End Function

Private Function Proverka(ByVal s As String) As Boolean

Dim flag As Boolean

Dim i As Integer

Dim massiv() As String

flag = False

i = 0

massiv = Strings.Split(s)

Do

If Trim(Str(Val(massiv(i)))) = massiv(i) Then

flag = True

End If

i = i + 1

Loop Until flag = True Or i > UBound(massiv)

Proverka = flag

End Function

Private Function summa_chis(ByVal s As String) As Single

Dim i As Integer

Dim Sm As Single

Dim massiv() As String

massiv = Split(s)

Sm = 0

For i = 0 To UBound(massiv)

If Trim(Str(Val(massiv(i)))) = massiv(i) Then

Sm = Sm + Val(massiv(i))

End If

Next

Return Sm

End Function

Умножение чисел строки и нахождение мин элемента столбца с заменой на 0

Dim A(,), B() As Integer

Dim m, n, i, j, min, n_i As Integer

Dim st As String

Do

m = Val(InputBox("Введите количество строк"))

Loop Until m > 0

Do

n = Val(InputBox("Введите количество столбцов"))

Loop Until n > 0

m -= 1

n -= 1

ReDim A(m, n)

For i = 0 To m

For j = 0 To n

A(i, j) = Val(InputBox("Введите элемент (" + _

Str(i) + "," + Str(j) + ")"))

Next

Next

ListBox1.Items.Clear()

ListBox1.Items.Add("Исходный массив")

For i = 0 To m

st = ""

For j = 0 To n

st = st + Str(A(i, j)) + vbTab

Next

ListBox1.Items.Add(st)

Next

ReDim B(m)

ListBox1.Items.Add("Новый массив")

ListBox1.Items.Add("№стр." + vbTab + "Произведение")

For i = 0 To m

B(i) = 1

For j = 0 To n

If A(i, j) >= 2 And A(i, j) <= 5 Then

B(i) = B(i) * A(i, j)

End If

Next

If B(i) = 1 Then B(i) = 0

Next

For i = 0 To m

ListBox1.Items.Add(Str(i) + vbTab + Str(B(i)))

Next

For j = 0 To n

min = A(0, j)

n_i = 0

For i = 0 To m

If A(i, j) < min Then

min = A(i, j)

n_i = i

End If

Next

A(n_i, j) = 0

Next

ListBox1.Items.Add("-------------------------------")

ListBox1.Items.Add("Измененный массив")

For i = 0 To m

st = ""

For j = 0 To n

st = st + Str(A(i, j)) + vbTab

Next

ListBox1.Items.Add(st)

Next

End Sub

End Class

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

Dim a(,) As Integer

Dim m, n As Integer

Dim i, j As Integer

Dim max, imax, jmax As Integer

Dim s As String

Do

m = Val(InputBox("Введите количество строк"))

Loop Until m > 0

Do

n = Val(InputBox("Введите количество столбцов"))

Loop Until n > 0

m -= 1

n -= 1

ReDim a(m, n)

For i = 0 To m

For j = 0 To n

a(i, j) = Val(InputBox("Введите элемент (" + _

Str(i) + "," + Str(j) + ")"))

Next

Next

lstMatrix.Items.Clear()

lstMatrix.Items.Add("Матрица")

For i = 0 To m

s = ""

For j = 0 To n

s += Str(a(i, j)) + vbTab

Next

lstMatrix.Items.Add(s)

Next

max = a(0, 0)

imax = 0

jmax = 0

For i = 0 To m

For j = 0 To n

If a(i, j) > max Then

max = a(i, j)

imax = i

jmax = j

End If

Next

Next

lstMatrix.Items.Add("---------------------------------")

lstMatrix.Items.Add("Максимум:" + Str(max))

lstMatrix.Items.Add("Строка:" + Str(imax))

lstMatrix.Items.Add("Столбец:" + Str(jmax))

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

Dim a(,) As Integer

Dim m, n As Integer

Dim i, j As Integer

Dim s As String

Dim sum, kol As Integer

Dim sred As Single

Do

m = Val(InputBox("Введите количество строк"))

Loop Until m > 0

Do

n = Val(InputBox("Введите количество столбцов"))

Loop Until n > 0

m -= 1

n -= 1

ReDim a(m, n)

For i = 0 To m

For j = 0 To n

a(i, j) = Val(InputBox("Введите элемент (" + _

Str(i) + "," + Str(j) + ")"))

Next

Next

lstMatrix.Items.Clear()

lstMatrix.Items.Add("Матрица")

For i = 0 To m

s = ""

For j = 0 To n

s += Str(a(i, j)) + vbTab

Next

lstMatrix.Items.Add(s)

Next

lstMatrix.Items.Add("---------------------------------")

lstMatrix.Items.Add("Строка" + vbTab + "Сред. арифм.")

For i = 0 To m

sum = 0

kol = 0

For j = 0 To n

If a(i, j) Mod 2 = 0 Then

sum += a(i, j)

kol += 1

End If

Next

If kol = 0 Then

lstMatrix.Items.Add(Str(i) + vbTab + _

"В строке нет четных")

Else

sred = sum / kol

lstMatrix.Items.Add(Str(i) + vbTab + Str(sred))

End If

Next

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

Dim a(,) As Integer

Dim m, n As Integer

Dim i, j As Integer

Dim s As String

Dim min As Integer

Dim b() As Integer

Do

m = Val(InputBox("Введите количество строк"))

Loop Until m > 0

Do

n = Val(InputBox("Введите количество столбцов"))

Loop Until n > 0

m -= 1

n -= 1

ReDim a(m, n)

For i = 0 To m

For j = 0 To n

a(i, j) = Val(InputBox("Введите элемент (" + _

Str(i) + "," + Str(j) + ")"))

Next

Next

lstMatrix.Items.Clear()

lstMatrix.Items.Add("Матрица")

For i = 0 To m

s = ""

For j = 0 To n

s += Str(a(i, j)) + vbTab

Next

lstMatrix.Items.Add(s)

Next

ReDim b(n)

For j = 0 To n

min = a(0, j)

For i = 1 To m

If a(i, j) < min Then

min = a(i, j)

End If

Next

b(j) = min

Next

lstMatrix.Items.Add("---------------------------------")

lstMatrix.Items.Add("Столбец" + vbTab + "Минимум")

For i = 0 To n

lstMatrix.Items.Add(Str(i) + vbTab + Str(b(i)))

Next

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

Dim a(,) As Integer

Dim n As Integer

Dim i, j As Integer

Dim s As String

Dim sum, proiz As Integer

Do

n = Val(InputBox("Введите размер матрицы"))

Loop Until n > 0

n -= 1

ReDim a(n, n)

For i = 0 To n

For j = 0 To n

a(i, j) = Val(InputBox("Введите элемент (" + _

Str(i) + "," + Str(j) + ")"))

Next

Next

lstMatrix.Items.Clear()

lstMatrix.Items.Add("Матрица")

For i = 0 To n

s = ""

For j = 0 To n

s += Str(a(i, j)) + vbTab

Next

lstMatrix.Items.Add(s)

Next

sum = 0

proiz = 1

For i = 0 To n

sum += a(i, i)

proiz *= a(i, n - i)

Next

lstMatrix.Items.Add("---------------------------------")

lstMatrix.Items.Add("Сумма = " + Str(sum))

lstMatrix.Items.Add("Произведение = " + Str(proiz))

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

Dim a(,) As Integer

Dim n As Integer

Dim i, j As Integer

Dim s As String

Dim min, imin, jmin As Integer

Dim max, imax, jmax As Integer

Do

n = Val(InputBox("Введите размер матрицы"))

Loop Until n > 0

n -= 1

ReDim a(n, n)

For i = 0 To n

For j = 0 To n

a(i, j) = Val(InputBox("Введите элемент (" + _

Str(i) + "," + Str(j) + ")"))

Next

Next

lstMatrix.Items.Clear()

lstMatrix.Items.Add("Матрица")

For i = 0 To n

s = ""

For j = 0 To n

s += Str(a(i, j)) + vbTab

Next

lstMatrix.Items.Add(s)

Next

min = a(0, n)

imin = 0

jmin = n

max = a(n, n)

imax = n

jmax = n

For i = 0 To n

For j = 0 To n

If i < j And a(i, j) < min Then

min = a(i, j)

imin = i

jmin = j

End If

If i + j > n And a(i, j) > max Then

max = a(i, j)

imax = i

jmax = j

End If

Next

Next

lstMatrix.Items.Add("------------------------------------")

lstMatrix.Items.Add("Минимальный над главной диагональю")

lstMatrix.Items.Add("Значение:" + Str(min))

lstMatrix.Items.Add("Строка:" + Str(imin))

lstMatrix.Items.Add("Столбец:" + Str(jmin))

lstMatrix.Items.Add("Максимальный под побочной диагональю")

lstMatrix.Items.Add("Значение:" + Str(max))

lstMatrix.Items.Add("Строка:" + Str(imax))

lstMatrix.Items.Add("Столбец:" + Str(jmax))

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

Dim s As String

Dim i As Integer

Dim slova() As String

Dim n As Integer

Dim max As String

lstText.Items.Clear()

s = InputBox("Введите строку")

lstText.Items.Add(s)

s = Strings.Trim(s)

Do Until Strings.InStr(s, " ") = 0

s = Strings.Replace(s, " ", " ")

Loop

slova = Strings.Split(s)

n = UBound(slova)

max = ""

For i = 0 To n

If slova(i) = Strings.StrReverse(slova(i)) _

And Len(slova(i)) > Len(max) Then

max = slova(i)

End If

Next

lstText.Items.Add("------------------------------------")

If max <> "" Then

lstText.Items.Add("Самое длинное слово-палиндром")

lstText.Items.Add(max)

Else

lstText.Items.Add("В строке нет слов-палиндромов")

End If

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

Dim s As String

Dim i As Integer

Dim slova() As String

Dim n As Integer

Dim summa, kol As Integer

lstText.Items.Clear()

s = InputBox("Введите строку")

lstText.Items.Add(s)

s = Strings.Trim(s)

Do Until Strings.InStr(s, " ") = 0

s = Strings.Replace(s, " ", " ")

Loop

slova = Strings.Split(s)

n = UBound(slova)

summa = 0

kol = 0

For i = 0 To n

If Strings.Trim(Str(Val(slova(i)))) = slova(i) Then

summa += Val(slova(i))

kol += 1

End If

Next

lstText.Items.Add("------------------------------------")

If kol = 0 Then

lstText.Items.Add("В строке нет чисел")

Else

lstText.Items.Add("Сумма =" + Str(summa))

End If

Дана строка текста, в которой слова разделены произвольным количеством пробелов. Пробелы могут стоять перед первым словом и за последним. Упорядочить слова строки по алфавиту. Задачу решить в двух вариантах: с учетом регистра и без учета регистра. Исходную строку и полученные результаты вывести в окно списка.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]