10.Using namespace std;
11.
12.Int main()
13.{
14. //объявляем необходимые переменные
15. const int size = 15;
16. int massiv[size];
17. int sumChet = 0, sumNechet = 0, sum = 0, proizv1 = 1, proizv2 = 1;
18.
19. //задаем начало отчета для рандомизатора rand()
20. srand(time(NULL));
21.
22. //наполняем массив случайными величинами
23. for(int i = 0; i < size; i++)
24. massiv[i] = 1 + rand() % 200;
25.
26. //выводим содержимое массива на экран
27. printArray(massiv, size);
28.
29. //выполняем необходимые подсчеты в цикле
30. for(int i = 0; i < size; i++)
31. {
32. if(massiv[i] % 2 == 0)
33. sumChet += massiv[i];
34.
35. if(massiv[i] % 2 != 0)
36. sumNechet += massiv[i];
37.
38. sum += massiv[i];
39.
40. if(massiv[i] < 50)
41. proizv1 *= massiv[i];
42.
43. if(i == 2 || i == 7)
44. proizv2 *= massiv[i];
45. }
46.
47. //выводим результаты работы программы
48. cout << "\nSumma chetnih: " << sumChet << endl;
49. cout << "Summa nechetnih: " << sumNechet << endl;
50. cout << "Summa vseh: " << sum << endl;
51. cout << "Proizvedeniye elementov do 50: " << proizv1 << endl;
52. cout << "Proizvedeniye elementov ot 0 do 4: " << proizv2 << endl;
53.
54. Return 0;
55.}
56.
57.//функция вывода массива на экран
58.void printArray(int a[], const int s)
59.{
60. for(int k = 0; k < s; k++)
61. cout << a[k] << " ";
62.
63. cout << endl;
64.}
Результат работы программы будет таким
Одномерные массивы - задача № 2
Используйте одномерный массив для решения следующей задачи. Компания платит своим продавцам на комиссионной основе. Продавцы получают 200 долларов в неделю плюс 9 процентов от валовой продажи за эту неделю. Например, продавец, валовая продажа которого за неделю составила 5000 долларов, получает 200 долларов плюс 9 процентов от 5000 долларов, или всего 650 долларов. Напишите программу (используя массив счетчиков), которая определяет, сколько продавцов получили заработную плату в каждом из следующих диапазонов (примем допущение, что зарплата каждого продавца округляется до целого значения):
$200 - $299
$300 - $399
$400 - $499
$500 - $599
$600 - $699
$700 - $799
$800 - $899
$900 - $999
$1000 и более.
Код программы:
01.//Программа определяет количество продавцов,
02.//получивших заработную плату из определенного интервала
03.
04.#include <iostream>
05.
06.//определяем прототипы функций
07.void intervals();
08.void printArray(int[], int);
09.
10.Using namespace std;
11.
12.Int main()
13.{
14. //определяем константное число, определяющее размер массива
15. const int size = 9;
16. //объявляем массив, инициализируем его нулями
17. //totalSale - будет запоминать валовую продажу служащего
18. //general - будет запоминать заработную плату служащего
19. int array[size] = {0}, totalSale, general;
20.
21. //выводим интервалы заработков служащих для наглядности
22. intervals();
23.
24. //запрашиваем валовую продажу и сохраняем значение
25. cout << "Total sale (exit -1): " << endl;
26. cin >> totalSale;
27.
28. //в цикле запрашиваем количества валовых продаж служащих
29. while(totalSale != -1)
30. {
31. //подсчитываем заработную плату служащего
32. general = 200 + (totalSale * 9 / 100);
33.
34. //организуем подсчет, используя счетчики
35. if(general >= 200 && general <= 299)
36. ++array[0];
37. else if(general >= 300 && general <= 399)
38. ++array[1];
39. else if(general >= 400 && general <= 499)
40. ++array[2];
41. else if(general >= 500 && general <= 599)
42. ++array[3];
43. else if(general >= 600 && general <= 699)
44. ++array[4];
45. else if(general >= 700 && general <= 799)
46. ++array[5];
47. else if(general >= 800 && general <= 899)
48. ++array[6];
49. else if(general >= 900 && general <= 999)
50. ++array[7];
51. else if(general >= 1000)
52. ++array[8];
53.
54. //запрашиваем валовую продажу и сохраняем значение
55. cout << "Total sale (exit -1): " << endl;
56. cin >> totalSale;
57. }
58.
59. printArray(array, size);
60.
