Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2009, 23:28   #11
Nataly1992
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 44
По умолчанию

Цитата:
Сообщение от Serebro Посмотреть сообщение
Код:
For j = 1 To m
  s=0.0
  number=0
  For i = 1 To n
    if x(i,j)>0.0 then
      s=s+x(i,j)
      number=number+1
    end if
  Next i
  sa(j)=s/number        rem среднее арифметическое элементов >0 по столбцам
Next j
Куда мен это вписать??
Я знаю, вы щас подумаете, что я совсем тупая, но я не понимаю куда....
Nataly1992 вне форума Ответить с цитированием
Старый 21.12.2009, 23:32   #12
Serebro
FORTRAN programmer
Форумчанин
 
Регистрация: 08.12.2009
Сообщений: 153
По умолчанию

Цитата:
Сообщение от Nataly1992 Посмотреть сообщение
Куда мен это вписать??
Я знаю, вы щас подумаете, что я совсем тупая, но я не понимаю куда....
Я не знаю как работать в VBA, пишу в основном на FORTRAN-е.
Serebro вне форума Ответить с цитированием
Старый 21.12.2009, 23:37   #13
Nataly1992
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 44
По умолчанию

Цитата:
Сообщение от Serebro Посмотреть сообщение
Я не знаю как работать в VBA, пишу в основном на FORTRAN-е.
всеравно спасибо за попытку
Nataly1992 вне форума Ответить с цитированием
Старый 21.12.2009, 23:41   #14
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Ну вот вам Serebro седцевину задачи уже и решил! (А внешние действия те же.)
Цитата:
Сообщение от Nataly1992 Посмотреть сообщение
2) Ввести из клавиатуры.
Вообще-то в Excel лучше массив вводить прямо в таблицу, а не в инпутбокс

Можно методичку посмотреть?

Последний раз редактировалось Sasha_Smirnov; 21.12.2009 в 23:44.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 21.12.2009, 23:42   #15
Nataly1992
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 44
По умолчанию

Сейчас попробую))
Nataly1992 вне форума Ответить с цитированием
Старый 21.12.2009, 23:44   #16
Nataly1992
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 44
По умолчанию

чет я не понимаю как оно считает.....
Nataly1992 вне форума Ответить с цитированием
Старый 21.12.2009, 23:47   #17
Nataly1992
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 44
По умолчанию

Цитата:
Сообщение от Sasha_Smirnov Посмотреть сообщение
Ну вот вам Serebro седцевину задачи уже и решил! (А внешние действия те же.)

Вообще-то в Excel лучше массив вводить прямо в таблицу, а не в инпутбокс

Можно методичку посмотреть?
Если вы понимаете украинский язык
Nataly1992 вне форума Ответить с цитированием
Старый 22.12.2009, 00:01   #18
Nataly1992
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 44
По умолчанию

когда я ввожу 1 2 3
4 5 6
1 2 3
то у меня выбивает поочему-то 1,436338164
Почему?????
Nataly1992 вне форума Ответить с цитированием
Старый 22.12.2009, 00:52   #19
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию

Цитата:
Сообщение от Nataly1992 Посмотреть сообщение
Если вы понимаете украинский язык.
Про это — понял бы! Спасибо, что пишете на русском (тут это не всем дано!).
Код:
Sub Стобец_СреднееИзПоложительныхЭлементов()

n = Val(InputBox("Размерность массива по вертикали, n", , 2)): If n < 2 Then Exit Sub
m = Val(InputBox("Размерность массива по горизонтали, m", , 4)): If m < 2 Then Exit Sub

ReDim a(n, m)

    For i = 1 To n
        For j = 1 To m
            Do
            a(i, j) = InputBox("A(" & i & ", " & j & ") = ?") 'ввод j-го элемента i-й строки'
                If IsNumeric(a(i, j)) Then
                    Cells(i, j).Value = a(i, j)
                Else
                    Cells(i, j).Value = 0: a(i, j) = 0 'ставим принудительно 0, если ошиблись при вводе'
                End If
            If a(i, j) <> Empty Then Exit Do    'ввели число a(i, j) - идём к следующим'
            Loop
        Next j
    Next i
    
    For j = 1 To m
    S = 0
        For i = 1 To n
        If a(i, j) > 0 Then S = S + a(i, j)
        Next i
        If S > 0 Then Cells(n + 2, j).Value = S / n 'в (n + 2)-й строчке пишем среднее по столбцу j'
    Next j
    
End Sub
В приложенном файле Excel код выполняется через Alt-F8 → Выполнить.

Или двойным щелчком (в окне, открытом по Alt-F8) по имени программы.

Да, тут у меня ещё — при открытии Массивы.xls — выскакивает предупреждение: запуск макросов отключён! Тут два варианта действий:
1) выбрать ответ «Включить это содержимое»;
2) нажать у себя (в украинском эксселе) Alt-F11 — там создать модуль и в него вставить код.

В обоих случаях программу можно будет запускать. Только результаты — лучше каждый раз стирать.
Вложения
Тип файла: rar Массивы.rar (10.0 Кб, 10 просмотров)

Последний раз редактировалось Sasha_Smirnov; 22.12.2009 в 01:01.
Sasha_Smirnov вне форума Ответить с цитированием
Старый 22.12.2009, 01:16   #20
Nataly1992
Пользователь
 
Регистрация: 14.12.2009
Сообщений: 44
По умолчанию

Скажите пожалуйста, а что такое LOOP?

А так, я даже не знаю, как вас и благодарить.....
Nataly1992 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ Двухмерные массивы rus_rock_no_dead Помощь студентам 4 23.05.2010 23:21
C++. Двухмерные массивы. bpystep Помощь студентам 11 23.05.2010 13:49
Двухмерные массивы(StringGrid) MaksimSeriy Общие вопросы Delphi 3 06.04.2009 01:27
Двухмерные массивы (С++) Nattka Помощь студентам 2 04.12.2008 21:15
Двухмерные массивы - ошибка fudzy79 Помощь студентам 21 06.02.2008 22:50