Форум программистов, компьютерный форум CyberForum.ru

Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов - C++

Восстановить пароль Регистрация
 
Елена ))
 Аватар для Елена ))
-2 / 0 / 0
Регистрация: 11.05.2011
Сообщений: 67
13.05.2011, 18:06     Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов #1
Дан массив действительных чисел, размерность которого N. Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов.
Массив задаётся случайным порядком.Вывести массив и числа отрицательных, положительных и нулевых элементов.

Добавлено через 6 часов 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
#include <conio.h>
#include <windows.h>
 void main(void) {
 int a[100];
 int n,i,s1,s2,s3;
 printf("\n Введите размерность массива");
 scanf("%d", &n);
          for (i=0; i<n; i++){
    a[i]= rand()%100-20;
    printf("%d ",a[i]);}
 s1=0;
 s2=0;
 s3=0;
   for (i=1; i<n; i++)  {
    if (a[i]<0) {
        s1++;}
 
          if (a[i]==0){
              s2++;}
          if (a[i]>0){
               s3++;}
}
 printf("\n Количество отрицательных элементов: %d ", s1);
 printf("\n Количество элементов равных 0: %d ", s2);
 printf("\n Количество положительных элементов: %d ", s3);
 getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2011, 18:06     Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов
Посмотрите здесь:

C++ Сколько в массиве отрицательных, положительных и нулевых элементов
C++ Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов.
C++ Массив. Посчитать, сколько отрицательных,положительных, и нулевых элементов
C++ Дан массив действительных чисел, размерность которого N. Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов
Определить количество положительных, отрицательных и нулевых элементов массива. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
13.05.2011, 19:20     Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов #2
Так, мне кажется, кошерней будет
C++
1
2
3
4
5
6
for (i=1; i<n; i++)  
{
  if (a[i]<0) s1++;
  else if (a[i]==0) s2++;
  else s3++;
}
fidzhi
5 / 5 / 1
Регистрация: 16.02.2011
Сообщений: 45
13.05.2011, 19:28     Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов #3
А почему нулевой элемент массива в ваши циклы не входит?
Елена ))
 Аватар для Елена ))
-2 / 0 / 0
Регистрация: 11.05.2011
Сообщений: 67
13.05.2011, 19:32  [ТС]     Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов #4
mimicria
return (true);
 Аватар для mimicria
1956 / 1093 / 91
Регистрация: 19.04.2011
Сообщений: 2,344
13.05.2011, 19:33     Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов #5
Да, кстати, индексы массивы с 0 начинаются
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
13.05.2011, 19:37     Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <algorithm>
#include <boost/lambda/lambda.hpp>
#include <cstddef>
#include <iostream>
 
int main() {
  const double      array[] = { -2.0, -1.0, 0.0, 1.0, 2.0, 3.0 };
  const std::size_t size    = sizeof(array) / sizeof(array[0]);
  
  const std::size_t negativeCount = std::count_if(array, array + size, boost::lambda::_1 < 0);
  const std::size_t positiveCount = std::count_if(array, array + size, boost::lambda::_1 > 0);
  
  std::cout << negativeCount                        << std::endl
            << positiveCount                        << std::endl
            << size - negativeCount - positiveCount << std::endl;
}
Результат: http://liveworkspace.org/code/efce99...a468b7217daae6

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <algorithm>
#include <cstddef>
#include <iostream>
#include <functional>
 
struct Counter {
  std::size_t positiveCount;
  std::size_t negativeCount;
  
  Counter()
  : positiveCount(0)
  , negativeCount(0)
  {
  }
  
  void operator()(double number) {
    if (number < 0)
      ++negativeCount;
    else if (number > 0)
      ++positiveCount;
  }
};
 
int main() {
  const double      array[] = { -2.0, -1.0, 0.0, 1.0, 2.0, 3.0 };
  const std::size_t size    = sizeof(array) / sizeof(array[0]);
  
  const Counter counter = std::for_each(array, array + size, Counter());
   
  std::cout << counter.negativeCount                                << std::endl
            << counter.positiveCount                                << std::endl
            << size - counter.negativeCount - counter.positiveCount << std::endl;
}
Результат: http://liveworkspace.org/code/53e6d1...ee88606ce567e9
Yandex
Объявления
13.05.2011, 19:37     Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов
Ответ Создать тему
Опции темы

Текущее время: 20:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru