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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2013, 23:33   #1
vetalij
Пользователь
 
Регистрация: 02.04.2009
Сообщений: 18
По умолчанию определить в последовательности a1, a2, …, an количество положительных и отрицательных элементов

Собственно есть задача:
Определить в последовательности a1, a2, …, an количество положительных и количество отрицательных элементов.
Есть примерная реализация в Паскале
Код:
uses crt;
const n=15;
var a:array[1..n] of integer;
      i,k,p:integer;
 begin
  ClrScr;
  Writeln('Введите массив');
   for i:=1 to n do
   begin
    Write('a[',i,']->');
    Readln(a[i]);
   end;
  for i:=1 to n do
   begin
   if a[i]>0 then
    k:=k+1;
   if a[i]<0 then
    p:=p+1;
   end;
 Writeln('Кол-во положительных ',k);
 Writeln('Кол-во отрицательных ',p);
Readln;
end.
Но как это реализовать в Visual Basic в Exel.

(Изучал вижуал бейсик, под эксель, года два назад, уже почти ничего не помню)
vetalij вне форума Ответить с цитированием
Старый 22.01.2013, 11:21   #2
staniiislav
Форумчанин
 
Аватар для staniiislav
 
Регистрация: 16.04.2010
Сообщений: 695
По умолчанию

вот пример на массивах...
значения в столбце можно продлить сколько угодно...
что вам именно нужно?
Вложения
Тип файла: rar Кол -,+ чисел.rar (12.9 Кб, 13 просмотров)
Единственный способ стать умнее, играть с более умным противником...
staniiislav вне форума Ответить с цитированием
Старый 22.01.2013, 12:03   #3
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

вот так код намного короче:

Код:
Sub calc()
  Dim A%(1 To 3)
   A(1) = 3
   A(2) = -2
   A(3) = -1
  [A1].Resize(UBound(A)) = WorksheetFunction.Transpose(A())
  MsgBox "Ïîëîæèòåëüíûõ ýëåìåíòîâ: " & Evaluate("sumproduct(--(" & [A1].CurrentRegion.Address & ">0))")
  MsgBox "Îòðèöàòåëüíûõ ýëåìåíòîâ: " & Evaluate("sumproduct(--(" & [A1].CurrentRegion.Address & "<0))")
End Sub
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ Задача(Определить количество отрицательных элементов, количество элементов в интервале от 1 до 5) grosssmile Помощь студентам 0 29.09.2012 18:25
Определить множество номеров отрицательных М1; положительных (не нулевых) М2 элементов вектора .. V-Denim Помощь студентам 0 18.01.2012 18:49
определить количество отрицательных элементов в обеих диагоналях матрицы (на паскале) borsk Паскаль, Turbo Pascal, PascalABC.NET 6 11.04.2011 16:50