Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [VB]Найти максимальный из положительных элементов 
:(
    Опции темы
bessonov12
Дата 2.5.2009, 06:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 27.4.2009

Репутация: нет
Всего: нет



1-Найти максимальный из положительных элементов матрицы и сумму отрицательных элементов.
2-Найти произведение элементов матрицы , кратных 5. 

3-Сформулировать матрицу X(N,N) вида
1)    0 0 0 2 1                                  1) 1 0 0 0 1
2)    0 0 2 1 2                                  2) 1 1 0 1 1           
3)    0 2 1 2 0                                  3) 1 1 1 1 1          
4)    2 1 2 0 0                                  4) 1 1 0 1 1             
5)    1 2 0 0 0                                  5) 1 0 0 0 1           
 
помогите чем сможите

Добавлено через 14 минут и 5 секунд
на Visual Basic надо решить
PM MAIL   Вверх
neic
Дата 2.5.2009, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: 5
Всего: 7



Решу за деньги.
Ибо если даже лень в 2-3 страницах форума прогуляться, это уже наглость.

Если чё стучи в ЛС.

Это сообщение отредактировал(а) neic - 2.5.2009, 10:03
PM MAIL WWW ICQ Skype   Вверх
bessonov12
  Дата 4.5.2009, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 27.4.2009

Репутация: нет
Всего: нет



я не нашол можеш обьяснить и показать как решить

Добавлено через 59 секунд
я не нашол можеш обьяснить и показать как решить
PM MAIL   Вверх
neic
Дата 5.5.2009, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: 5
Всего: 7



1. Делаешь массив и поэлементно проверяешь:

Код

max = -9999999
For i = 1 to n
    For j = 1 to m
          If M(i,j) > max then
                max = m(i,j)
                index = i & " : " & j
          End If

          If M(=i,j) < 0 then
             sum = sum - m(i,j)
          end if 
    Next
Next

' выводишь max и его индекс, выводишь sum


2. Тоже самое только:

Код

For i = 1 to n
    For j = 1 to m
          If M(i,j) mod 5 = 0 then
               If sum = 0 then
                       sum = sum * m(i,j)
               else
                       sum = m(i,j)
               end if
          End If
    Next
Next

'выводишь sum


3. ну тут подумай сам...ну или за деньги можно решить...

Это сообщение отредактировал(а) neic - 5.5.2009, 00:12
PM MAIL WWW ICQ Skype   Вверх
kapbepucm
Дата 5.5.2009, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 6
Всего: 12



Цитата(neic @  5.5.2009,  00:07 Найти цитируемый пост)
3. ну тут подумай сам...ну или за деньги можно решить...
Попробую решить, подождите... smile 


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
neic
Дата 5.5.2009, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: 5
Всего: 7



kapbepucm, я-то уже решил у меня лежат исходники готовые =)
PM MAIL WWW ICQ Skype   Вверх
THandle
Дата 5.5.2009, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 30
Всего: 372



neic, вообще-то центр помощи предназначен для бесплатной помощи:

http://forum.vingrad.ru/index.php?showtopi...t&p=1857814
http://forum.vingrad.ru/index.php?showtopi...t&p=1848635
PM   Вверх
neic
Дата 5.5.2009, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: 5
Всего: 7



THandle, я лишь предложил =)
Форум большой не все могут разобраться.

Если модератор посчитает лишними сообщениями, пусть удалит.
PM MAIL WWW ICQ Skype   Вверх
kapbepucm
Дата 5.5.2009, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 6
Всего: 12



Пока, дам что есть- первая часть третьего задания. Сделано наспех, видимо можно ещё упростить
Код
Private Function SdvigStroki(IdealStroka As String, Sdvig As Long) As String
  SdvigStroki = IdealStroka
  Dim I As Long
  Select Case Sdvig
  Case Is < 0
    For I = 1 To Sdvig * (-1)
      SdvigStroki = Right(SdvigStroki, Len(SdvigStroki) - 1) & "0"
    Next I
  Case Is > 0
    For I = 1 To Sdvig
      SdvigStroki = "0" & Left(SdvigStroki, Len(SdvigStroki) - 1)
    Next I
  End Select
End Function
Public Sub main()
  Const N As Long = 5
  Dim IdealStroka1 As String: IdealStroka1 = "212"
  Dim X1 As Long, Y1 As Long
  For X1 = 1 To N - 4
    IdealStroka1 = "0" & IdealStroka1 & "0"
  Next X1
  Dim MatrixStr As String
  If ((N Mod 2) = 1) And (N > 2) Then
    Dim X(1 To N, 1 To N) As Long
    Dim MatrixSTR1 As String, MatrixSTR2 As String
    For Y1 = UBound(X, 2) \ 2 + 1 To 1 Step -1
      For X1 = 1 To UBound(X, 1)
      X(X1, Y1) = CLng(Mid(SdvigStroki(IdealStroka1, (-1) * ((UBound(X, 2) \ 2 + 1) - Y1)), X1, 1))
      X(X1, UBound(X, 2) - Y1 + 1) = CLng(Mid(SdvigStroki(IdealStroka1, (UBound(X, 2) \ 2 + 1) - Y1), X1, 1))
      Next X1
    Next Y1
    'proverka
    For Y1 = 1 To UBound(X, 2)
      For X1 = 1 To UBound(X, 1)
        MatrixStr = MatrixStr & CStr(X(X1, Y1)) & "; "
      Next X1
      MatrixStr = MatrixStr & Chr(13) & Chr(10)
    Next Y1
    MsgBox MatrixStr
  Else
    MsgBox "x3"
  End If
End Sub


Добавлено через 8 минут и 48 секунд
Цитата(neic @  5.5.2009,  14:13 Найти цитируемый пост)
исходники готовые 
Код в студию smile


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
neic
Дата 5.5.2009, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: 5
Всего: 7



Цитата(kapbepucm @  5.5.2009,  16:10 Найти цитируемый пост)
Код в студию smile 

Ой ладно =)

1ая часть 3ей задачи:
Код

Dim mass(99, 99) As Integer
c = 212
k = 3

l = c
m = k

For i = 1 To 5
    For j = 1 To 5
        If m > 0 Then
            mass(i, j) = 0
            m = m - 1
        Else
            If l = "" Then
                mass(i, j) = 0
            Else
                mass(i, j) = Mid(l, 1, 1)
            End If
            
            
            If Len(l) > 1 Then
                l = Mid(l, 2)
            ElseIf Len(l) = 1 Then
                mass(i, j) = l
                l = ""
            End If
        End If
    Next
    k = k - 1
    m = k
    
    l = c
    If k < 0 Then
        l = Mid(l, 2)
    End If
Next

For i = 1 To 5
    For j = 1 To 5
        If Label1.Caption <> "" Then
            Label1.Caption = Label1.Caption & " " & mass(i, j)
        Else
            Label1.Caption = mass(i, j)
        End If
    Next
    Label1.Caption = Label1.Caption & vbCrLf
Next


2ая часть 3ей задачи:
Код

Dim mass(99, 99) As Integer
k = 1

For i = 1 To 5
    For j = 1 To 5
        index_do = k
        index_ot = 5 - k
        
        If j <= index_do Then
            mass(i, j) = 1
        ElseIf j > index_ot Then
            mass(i, j) = 1
        Else
            mass(i, j) = 0
        End If
    Next
    
    If k < 3 And flag = 0 Then
        k = k + 1
    ElseIf flag = 1 Then
        k = k - 1
    Else
        flag = 1
        k = k - 1
    End If
    
Next

For i = 1 To 5
    For j = 1 To 5
        If Label2.Caption <> "" Then
            Label2.Caption = Label2.Caption & " " & mass(i, j)
        Else
            Label2.Caption = mass(i, j)
        End If
    Next
    Label2.Caption = Label2.Caption & vbCrLf
Next


Всё гениально просто =)
PM MAIL WWW ICQ Skype   Вверх
kapbepucm
Дата 6.5.2009, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 6
Всего: 12



Цитата(neic @  5.5.2009,  19:35 Найти цитируемый пост)
1ая часть 3ей задачи:
А если
Цитата(bessonov12 @  2.5.2009,  06:47 Найти цитируемый пост)
X(N,N)
N=7?

От своего кода я отказываюсь в пользу neic smile


Это сообщение отредактировал(а) kapbepucm - 6.5.2009, 09:11


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
neic
Дата 6.5.2009, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: 5
Всего: 7



kapbepucm, все 5 на 7 замени  smile 
PM MAIL WWW ICQ Skype   Вверх
kapbepucm
Дата 7.5.2009, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 6
Всего: 12



Цитата(neic @  6.5.2009,  21:45 Найти цитируемый пост)
все 5 на 7 замени
заменил, и что дальше smile
Код
Sub test2()
Dim mass(99, 99) As Integer
Const N As Long = 7
Const c = 212
Dim k As Integer: k = 3
Dim l As String, m As Integer, I As Integer, j As Integer
Dim MatrixSTR

l = c
m = k

For I = 1 To N
    For j = 1 To N
        If m > 0 Then
            mass(I, j) = 0
            m = m - 1
        Else
            If l = "" Then
                mass(I, j) = 0
            Else
                mass(I, j) = Mid(l, 1, 1)
            End If
            
            
            If Len(l) > 1 Then
                l = Mid(l, 2)
            ElseIf Len(l) = 1 Then
                mass(I, j) = l
                l = ""
            End If
        End If
    Next j
    k = k - 1
    m = k
    
    l = c
    If k < 0 Then
        l = Mid(l, 2)
    End If
Next I

For I = 1 To N
    For j = 1 To N
        If MatrixSTR <> "" Then
            MatrixSTR = MatrixSTR & " " & mass(I, j)
        Else
            MatrixSTR = mass(I, j)
        End If
    Next j
    MatrixSTR = MatrixSTR & vbCrLf
Next I

MsgBox MatrixSTR
End Sub


Добавлено через 1 минуту и 49 секунд
Видимо, в строке 5 надо k высчитать


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
neic
Дата 8.5.2009, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 839
Регистрация: 28.1.2007

Репутация: 5
Всего: 7



Вот так вот конечный код выглядит:
Код

Dim mass(99, 99) As Integer

nazad:
qw = InputBox("Введите число элементов в строке")

If qw <> "" Or qw < 3 Then
    n = qw
Else
    GoTo nazad:
End If

c = 212
k = n - 2
l = c
m = k
For i = 1 To n
    For j = 1 To n
        If m > 0 Then
            mass(i, j) = 0
            m = m - 1
        Else
            If l = "" Then
                mass(i, j) = 0
            Else
                mass(i, j) = Mid(l, 1, 1)
            End If
            
            
            If Len(l) > 1 Then
                l = Mid(l, 2)
            ElseIf Len(l) = 1 Then
                mass(i, j) = l
                l = ""
            End If
        End If
    Next
    k = k - 1
    m = k
    
    l = c
    If k < 0 Then
        l = Mid(l, 2)
    End If
Next
For i = 1 To n
    For j = 1 To n
        If Label1.Caption <> "" Then
            Label1.Caption = Label1.Caption & " " & mass(i, j)
        Else
            Label1.Caption = mass(i, j)
        End If
    Next
    Label1.Caption = Label1.Caption & vbCrLf
Next

PM MAIL WWW ICQ Skype   Вверх
kapbepucm
Дата 8.5.2009, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 6
Всего: 12



Цитата(neic @  8.5.2009,  00:11 Найти цитируемый пост)
Код
If qw <> "" Or qw < 3 Then
чтобы это условие выполнилось, qw может принимать такие значения, как
  • "-3"
  • "0"
  • "1"
  • "aaa"
 smile

Добавлено через 3 минуты и 12 секунд
Ну а в принципе уже нормально smile


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.1304 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.