Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
1 / 1 / 0
Регистрация: 06.12.2019
Сообщений: 25

Определить процентное содержание элементов в случайной последовательности

10.01.2020, 12:38. Показов 2803. Ответов 10
Метки c++, с++ (Все метки)

Студворк — интернет-сервис помощи студентам
Условие задачи: Разработать программу, которая формирует случайным образом в диапазоне [-99, 99] одномерный целочисленный массив из N элементов (N вводится) и определяет количество и процентное соотношение положительных, отрицательных и нулевых элементов.

Вот сама программа к которой нужно сделать функцию:
Функция должна определять количество и процентное соотношение положительных, отрицательных и нулевых элементов.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
    
int main()
{
    int a;
    int count[3] = {0};
    cout<<"N = ";
    cin>>a;
    int x[a];
    for(int i = 0; i < a; i++)
    {
    cout<<(x[i] = -99 + rand() % (99 - (-99)))<<" ";
    if(x[i] == 0) count[0]++;
    if(x[i] > 0)  count[1]++;
    if(x[i] < 0)  count[2]++;
    }
    cout<<"\n";
    cout<<"NULL - "<<count [0]<<", "<<(count [0] * 100/a)<<"%" <<endl;
    cout<<"POLL  - "<<count [1]<<", "<<(count [1] * 100/a)<<"%" <<endl;
    cout<<"OTR  - "<<count [2]<<", "<<(count [2] * 100/a)<<"%" <<endl;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.01.2020, 12:38
Ответы с готовыми решениями:

Определить процентное содержание цифр в строке
Задача: Ввести строку, определить в нем процентное содержание цифр и заменить в ней все «D» на «RRR». Нормально проходит компиляцию,...

В тексте определить процентное содержание заданной буквы
Даны 2 предложение. Определить долю буквы &quot;Б&quot;(в %).

Работа со строками (вычислить сумму введенных чисел, найти процентное содержание каждой цифры во введенной последовательности)
Помогите написать программу, очень надо... Вопрос стипушеньки...пожалуйста) С клавиатуры вводится последовательность чисел,...

10
Злостный нарушитель
 Аватар для Verevkin
10358 / 5773 / 1274
Регистрация: 12.03.2015
Сообщений: 26,680
10.01.2020, 12:40
Цитата Сообщение от Cherrypopa Посмотреть сообщение
Вот сама программа к которой нужно сделать функцию
Осталось угадать, что функция должна делать.
0
1 / 1 / 0
Регистрация: 06.12.2019
Сообщений: 25
10.01.2020, 12:42  [ТС]
Функция должна определять количество и процентное соотношение положительных, отрицательных и нулевых элементов.

Добавлено через 1 минуту
Verevkin, Функция должна определять количество и процентное соотношение положительных, отрицательных и нулевых элементов.
0
Злостный нарушитель
 Аватар для Verevkin
10358 / 5773 / 1274
Регистрация: 12.03.2015
Сообщений: 26,680
10.01.2020, 12:55
Ахтунг! Не отлаживал! Писал на заборе!
C++
1
2
3
4
5
6
7
8
9
10
11
12
void foo(int* x, unsigned count, double &p, double &n, double &z)
{
  p = 0.0; n = 0.0; z = 0.0;
  if (!count) return;
  while (count--) (*x ? (*x > 0 ? p : n) : z) += 1.0, x++; 
   
  // проценты
  p *= 100.0 / count;
  n *= 100.0 / count;
  z *= 100.0 / count;
  // В сумме p + n + z должно быть равно 100%. Но это неточно. :)))
}
0
1 / 1 / 0
Регистрация: 06.12.2019
Сообщений: 25
10.01.2020, 12:58  [ТС]
ahahahah красава, не каждый на заборе сможет запилить прогу
0
Злостный нарушитель
 Аватар для Verevkin
10358 / 5773 / 1274
Регистрация: 12.03.2015
Сообщений: 26,680
10.01.2020, 13:09
Пардон, у меня там баг небольшой.
Вот так работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void foo(int* x, unsigned count, double &p, double &n, double &z)
{
  p = 0.0; n = 0.0; z = 0.0;
  if (!count) return;
  unsigned temp = count;
  while (temp--) (*x ? (*x > 0 ? p : n) : z) += 1.0, x++; 
   
  // проценты
  p *= 100.0 / count;
  n *= 100.0 / count;
  z *= 100.0 / count;
  // В сумме p + n + z должно быть равно 100%. Но это неточно. :)))
}
Цитата Сообщение от Cherrypopa Посмотреть сообщение
ahahahah красава, не каждый на заборе сможет запилить прогу
Ну дык йопть! За это и зарплату плотют.
0
1 / 1 / 0
Регистрация: 06.12.2019
Сообщений: 25
10.01.2020, 13:12  [ТС]
Verevkin, да, не работает
0
Злостный нарушитель
 Аватар для Verevkin
10358 / 5773 / 1274
Регистрация: 12.03.2015
Сообщений: 26,680
10.01.2020, 13:14
Цитата Сообщение от Cherrypopa Посмотреть сообщение
не работает
Работает.
1
1 / 1 / 0
Регистрация: 06.12.2019
Сообщений: 25
15.01.2020, 13:55  [ТС]
Вот условие задачи: Разработать программу, которая формирует случайным образом в диапазоне [-99, 99] одномерный целочисленный массив из N элементов (N вводится) и определяет количество и процентное соотношение положительных, отрицательных и нулевых элементов.

Функция должна определять количество и процентное соотношение положительных, отрицательных и нулевых элементов.

Вот сама программа к которой нужно написать функцию:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int main()
{
int a;
int count[3] = {0};
cout<<"N = ";
cin>>a;
int x[a];
for(int i = 0; i < a; i++)
{
cout<<(x[i] = -99 + rand() % (99 - (-99)))<<" ";
if(x[i] == 0) count[0]++;
if(x[i] > 0) count[1]++;
if(x[i] < 0) count[2]++;
}
cout<<"\n";
cout<<"NULL - "<<count [0]<<", "<<(count [0] * 100/a)<<"%" <<endl;
cout<<"POLL - "<<count [1]<<", "<<(count [1] * 100/a)<<"%" <<endl;
cout<<"OTR - "<<count [2]<<", "<<(count [2] * 100/a)<<"%" <<endl;
}
0
 Аватар для TrollHammer
1216 / 709 / 336
Регистрация: 22.02.2018
Сообщений: 2,095
Записей в блоге: 2
15.01.2020, 14:48
Сколько постов по этой теме... Ну ладно, выложу вариант
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
34
35
36
37
#include <iostream>
 
using namespace std;
 
void retres(int *arr, int *res, int dim)
{
   for(int i=0; i<dim; i++)
   {
      if(arr[i] == 0) res[0]++;
      if(arr[i] > 0)  res[1]++;
      if(arr[i] < 0)  res[2]++;
   }
}
 
int main()
{
   int *arr, dim;
   int res[3] = {0};
 
     cout<<"Input array dimention: "; cin>>dim;
 
      arr = new int[dim];
 
     for(int i=0; i<dim; i++)
      cout<<(arr[i]=rand()%199-99)<<" ";
 
     retres(arr, res, dim);
 
     cout<<"\nNULL - "<<(double)res[0]*100./dim<<"%"<<endl;
     cout<<"POS  - "<<(double)res[1]*100./dim<<"%"<<endl;
     cout<<"NEG  - "<<(double)res[2]*100./dim<<"%"<<endl;
 
     delete [] arr;
 
     system("pause");
     return 0;
}
Добавлено через 10 минут
Цитата Сообщение от Cherrypopa Посмотреть сообщение
cin>>a;
int x[a];
На будущее - так нельзя делать. Некоторые "недокомпиляторы" такое позволяют, но динамически выделять/освобождать память под массив нужно в связке new-delete
1
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
15.01.2020, 21:37
Цитата Сообщение от Cherrypopa Посмотреть сообщение
Функция должна определять количество и процентное соотношение
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
34
35
36
37
38
39
40
41
#include <iostream>
#include <cstdlib>
#include <ctime> 
using namespace std;
 
void F (int *a, int N)
{
    int pos=0, neg=0, nul=0; 
    
    for(int i = 0; i < N; i++)
    {
        if(a[i] > 0) pos++;
        else if(a[i] < 0) neg++;        
    }    
    nul=N-pos-neg;
    
    double k=(double)100/N;   
    
    cout << "positive=" << pos << " (" << pos*k << "%)\n";
    cout << "negative=" << pos << " (" << neg*k << "%)\n";
    cout << "nulls=" << nul << " (" << nul*k << "%)\n";  
}
 
int main()
{
    srand((int)time(0));
    int N; 
    cout << "N="; cin >> N;
 
      int *a = new int[N];
 
    for (int i = 0; i < N; i++)
        cout << (a[i]=rand()%199-99) << " ";
    cout << "\n";    
      
    F(a,N);    
 
    delete[]a; 
system("pause");
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.01.2020, 21:37
Помогаю со студенческими работами здесь

Найти процентное содержание каждой цифры во введенной последовательности
С клавиатуры вводится последовательность чисел, разделенных пробелами. Ввод прекращается при нажатии клавиши Enter. Произвести следующие...

Найти процентное содержание каждой цифры во введенной последовательности
С клавиатуры вводится последовательность чисел, разделенных пробелами. Ввод прекращается при нажатии клавиши Enter. Найти процентное...

Определить процентное содержание каждой буквы в тексте
Необходимо вычислить количество каждой буквы в веденном тексте, а так же ее процентное содержание в нем. процентное содержание считается...

Определить процентное и количественное содержание заглавных букв в строке файла
2) Определить процентное и количественное содержание заглавных букв в строке файла.

Определить процентное содержание строчных и прописных букв к общему числу символов в тексте
Дан текст (любой). Нужно определить процентное содержание строчных и прописных букв к общему числу символов в нем. Помогите,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru