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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Деление значений в массиве http://www.cyberforum.ru/cpp-beginners/thread451385.html
Вобщем сам не знаю почему возникла такая проблема, вроде бы все тривиально, но... кароче, массив Pk имеет тип дабл, в нем хранятся данные полученые путем деления значений другого массива (Const1 типa инт) на 18, но весь массив Pk заполнен нулями, почему это может произойти? Я тестил, дебаг выявил что при итерации массив Const1 меняет значения как ему и положено, но Pk все равно 0. проблемная...
C++ Проверишь надежность программы! Пишу под windows свою программу. Могу я узнать как-то, на сколько она "дырявая"? Ну без использования конкретной програмной оболочки а средствами winXP? Добавлено через 4 минуты т.е. не вяснять где утечка а вообще осознать что утечка есть!! Вот я в "процессах" внизу вижу "выделение памяти". При многократном запуске своей программы память увеличивается примерно на мегабайт. Это что значит?... http://www.cyberforum.ru/cpp-beginners/thread451371.html
C++ чтение из файла в класс C++
Файл test.txt n1 01 e1 0.1 n2 02 e2 0.2 n3 03 e3 0.3 n4 04 e4 0.4 n5 05 e5 0.5 n6 06 e6 0.6 n7 07 e7 0.7 n8 08 e8 0.8
C++ Касательно указателей и функций
Уважаемые, назрел вот какой вопрос. Делаю вот так: TVozmGrup MassVG; GetVGArroundVG(MassVG); void GetVGArroundVG(TVozmGrup *MassVozmGrup) { . .
C++ Литература. http://www.cyberforum.ru/cpp-beginners/thread451345.html
Ув. форумчане, помогите с литературой по С. Я смотрел одноимённую тему, и по моему мнению это уже серьёзные книги. Мне бы чтонибуть для начинающих, для полных чайников, т.к. мне нужно очень много программ написать, а я полный ноль...
C++ Вывести на экран результат сложения в троичной системе счисления. Пользователь вводит 2 строки символов длиной 5, содержащие положительный числа в троичной системе счисления. Произвести сложение 2-х чисел с использованием троичной арифметики . Вывести на экран результат сложения в троичной системе счисления. Пример: 00012 11110 Ответ: 00012(3сс) + 11110(3сс) = 11122(3сс) подробнее

Показать сообщение отдельно
Vredinka_6
0 / 0 / 0
Регистрация: 05.02.2011
Сообщений: 32
23.02.2012, 14:49     В одномерном массиве вычислить количество отрицательных элементов и сумму модулей элементов, расположенных после минимального по модулю элемента
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/*
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) количество отриц. элементов массива;
2) сумму модулей элементов массива, расположенных после минимального по
   модулю элемента.
Заменить все отриц. элементы массива их квадратами и упорядочить элементы массива по возрастанию.
*/
#include <windows.h>
#include <iostream>
#include <stdlib.h>
#include <math.h>
#include <time.h>
 
int massiv(float*a, int);
int otric_element(float *a, int);
void sum_mod(float *a, int);
void massiv_na_kvadrat(float *a, int);
void sort(float *a, int);
void massiv_vyvod(float *a, int);
int v (float *a, int );
 
int main ()
{
    SetConsoleOutputCP(1251);
 
 
const int n=10;// длина массива
float **a=new float *[n];
 
srand (time(NULL));
 
 
int massiv(float*a, int n);// Заполнение массива случайными значениями
{
  for (int i = 0; i != n; i++)
   a [i] -10+30.*rand()/RAND_MAX;
}
     
 
 int otric_element(float *a, int n)// Подсчёт отрицательных элементов массива
{
   n = 0;
  for (int i = 0; i != n; i++)
    if (a[i] < 0) n++;
  return n;
}
 
void sum_mod(float *a, int n)// Вычисление суммы модулей элементов массива,расположенных после минимального по модулю элемента.
{
  float min, sum, min_element;
      min = fabs(a[0]), sum = 0;
  *min_element = 0;
 
  for (int i = 1; i != n; i++)
    if (fabs(a[i]) < min)
    {
      min = fabs(a[i]);
      *min_element = i;
    }
 
  for (int i = 0; i != *min_element; i++)
    sum += fabs(a[i]);
 
  return sum;
}
 
 
void massiv_na_kvadrat(float *a, int n)// Замена все отриц. элементы массива их квадратами.
{
  for (int i = 0; i != n; i++)
    if (a[i] < 0)
      a[i] *= a[i];
}
 
 
void sort(float *a, int n)// Сортировка по возрастанию
{
  double temp;
 
  for (int i1 = 0; i1 != n; i1++)
    for (int i2 = i1; i2 != n; i2++)
      if (a[i1] > a[i2])
      {
        temp = a[i1];
        a[i1] = a[i2];
        a[i2] = temp;
      }
}
 
 
void massiv_vyvod(float *a, int n)// Вывод массива
{
  for (int i = 0; i != n; i++)
    printf("  %0.2f", a[i]);
  printf("\n");
}
 
int v (float *a, int n)
{
  float a[n]; // массив из n элементов
  float sum;  // сумма модулей элементов массива,расположенных после минимального по модулю элемента
  float min_element;// номер элемента, минимального по модулю
 
  massiv(*a);
 
  printf("Vyvod massiva:\n");
  massiv_vyvod(a);
 
  printf("\nOtricatel'nyu element: %d\n", otric_element(a));
 
  sum = sum_mod(a, &min_element);
 
  printf("\nSum of absolute values before absolute minimum (%0.2f): %0.2f\n", a[mini_element], sum);
  printf("\nAfter changes negative items to it's squares:\n");
  massiv_na_kvadrat(a);
  massiv_vyvod(a);
 
  printf("\nArray after sorting:\n");
  sort(a);
  massiv_vyvod(n);
 
  printf("\n\n");
  //system("PAUSE");
  //return EXIT_SUCCESS;
}
}
 Комментарий модератора 
Создавайте темы с осмысленными и понятными названиями - это серьезно повышает шансы, что на ваш вопрос ответят.

Оставьте эти скобки для мальчиков в ICQ.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru