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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [VB6] решение задачи с массивом 
:(
    Опции темы
nasta
Дата 16.5.2008, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите, пожалуйста, решить такую задачу:
Перед минимальным элементом столбца матрицы вставить элемент, равный сумме остальных?(2-мерный массив)
Спасибо!
PM MAIL   Вверх
Akina
Дата 17.5.2008, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
neic
Дата 17.5.2008, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Господи, что может быть легче =)

Код

dim a(10,10) as integer
sum = 0
min = a(1,1)

For i = 1 to 10
for j = 1 to 10
     sum = sum + a(i,j)
     If min > a(i,j) then
         k = i
         p = j
     end if
Next
Next

a(k-1,p-1) = sum

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


Новичок



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

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



Спасибо большое, но у меня все равно не получается- надо же еще этот массив увеличить на 1 строку, чтобы вставить эту сумму в каждом столбике! А еще вывести в pic? 


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


Опытный
**


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

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



Ой не так прочитал =)
Чуть-чуть поменяем и всё будет ОК.

Код

Dim a(10, 10) As Integer

' делаем ввод массива из текстовых полей, ты можешь сделать другой ввод
a(1, 1) = Text1
a(1, 2) = Text4
a(1, 3) = Text7
a(2, 1) = Text2
a(2, 2) = Text5
a(2, 3) = Text8
a(3, 1) = Text3
a(3, 2) = Text6
a(3, 3) = Text9

For i = 1 To 3 ' переходим на след. столбец
Sum = 0 ' обнуляем счётчик суммирования
Min = a(1, i) ' обнуляем минимум
For j = 1 To 3 ' переходим на след. строку
     Sum = Sum + a(j, i) ' j - строка, i - стобец
     If Min > a(j, i) Then
         k = j
         p = i
     End If
Next

If k > 1 Then
MsgBox k - 1 & vbCrLf & p & vbCrLf & Sum ' k - строка, p - столбец,  sum - сумма
a(k - 1, p) = Sum
Else
MsgBox k & vbCrLf & p & vbCrLf & Sum
a(k, p) = Sum
End If
Next



а что такое pic?
PM MAIL WWW ICQ Skype   Вверх
nasta
Дата 17.5.2008, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Надо вывод получившегося массива в объект PictureBox,
Спасибо большое!Попробую так!
PM MAIL   Вверх
neic
Дата 18.5.2008, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



1. Добавляешь на форму Picture
2. Добавляешь на Picture элемент Text
3. Выделяешь созданный Text, копируешь его, выделяешь Picture, и вставляешь (Ctrl+V), на сообщение отвечаешь "Да" или "Ок" (не помню) =)
4. Добавляешь кнопку (не в Picture) и прописываешь код в кнопке:
Код

n = 7
k = 7
Top = Text1(0).Top

For i = 1 To n
For j = 1 To k - 1
    Load Text1(i & j)
    Text1(i & j).Visible = True
    Text1(i & j).Top = Top
    Text1(i & j).Text = ""
    
    If j > 1 Then
    Text1(i & j).Left = Text1(i & (j - 1)).Left + Text1(0).Width + 10
    Else
    Text1(i & j).Left = Text1(0).Left + Text1(0).Width + 10
    End If
Next

If i < n Then
Top = Top + Text1(0).Height + 10
Load Text1((i + 1) & 0)
Text1((i + 1) & 0).Visible = True
Text1((i + 1) & 0).Top = Top
Text1((i + 1) & 0).Left = Text1(0).Left
Text1((i + 1) & 0).Text = ""
End If
Next


Это код делает нужное кол-во копий "ячеек" твоего массива.
Вместо:
Код

Text1((i + 1) & 0).Text = ""


Пишешь например:
Код

Text1((i + 1) & 0).Text = sum ' см. выше что это значит


Главное!!!
Первый элемент будет нулевым ( Text1(0) ), а следующий будет такого вида Text1(11)...Text(1n) при переходе на след строку Text1(21)...Text(2n) и т.д.

Добавлено через 54 секунды
Вот исходник.

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  ___________.zip 1,32 Kb
PM MAIL WWW ICQ Skype   Вверх
nasta
Дата 18.5.2008, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо большое, работает!
PM MAIL   Вверх
Ursius
  Дата 19.5.2008, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет всем smile . Помогите мне пожалуйста решить вот эти две задачи по одномерным массивам:
1.Заданы массивы и . Найти все числа не принадлежат двум массивам одновременно, это с помошью ИнпутБокс и МсжБокс.
2.Задан массив . Напечатать номера тех элементов массива которые равняются 5 и подсчитать их количество, или напечатать номера элементов массива, которые равняются 7 и подсчитать сумму номеров этих элементов. Вариант выбирать с помошью ОпшнБаттон. Эту задачу с помошью формы с тремя полями для чисел, кнопкой для выполнения операции, у двумя переключателями для выбора варианта. Форма не сильно важна, очень нуждаюсь с програмном коде.
Заранее благодарен, за ответы.

PM MAIL   Вверх
neic
Дата 19.5.2008, 20:38 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

1ая задача
Код

... 'делаешь ввод
poisc = InputBox("Введи число",,"Сюда")

For i = 1 to n
      If m(i)=poisc then
      MsgBox "Такой элемент уже есть"
      Exit Sub
        end if
Next

MsgBox "Такого элемента нет"

где, n - кол-во элементов
m() - массив

Если я не правильно тебя понял по поводу задания... вини самого себя, учи рашевский язык по-нормальному, а то моя твоя не понимать.

2ая задача
Код

... 'делаешь ввод
For i = 1 to n
      If option1.value = True then ' ищем 5
           If m(i)=5 then
                 If k <> "" then
                        k = k & vbcrlf & i
                        l = l+1
                 else
                        k = i
                        l = 1
                 end if
           end if
      elseif option2.value = True ' ищем 7
        If m(i)=7 then
                 If k <> "" then
                        k = k & vbcrlf & i
                        l = l+1
                 else
                        k = i
                        l = 1
                 end if
           end if
      end if
Next

MsgBox "Кол-во элементов: " & i & vbcrlf &  "Перечень мест:" & vbcrlf & k


Это сообщение отредактировал(а) neic - 20.5.2008, 01:14
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

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


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

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

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

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


 




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


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

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