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

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

Восстановить пароль Регистрация
 
grosssmile
1 / 1 / 0
Регистрация: 26.09.2012
Сообщений: 37
30.09.2012, 15:27     Исправить код, чтобы он считал не сумму отрицательных элементов, а количество отрицательных элементов? #1
Доброго времени суток.
Есть код
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
#include <iostream>
using namespace std;
#define I 3
#define J 4
 
void inputmas(float [I][J], char);
void raschet(float [I][J], float *, float *);
void printmas(float [I][J], char);
void printrez(float [I][J], char, float, float);
 
void main()
{
  float c[I][J], d[I][J], sredc, sredd, minc, mind;
  inputmas(c,'c');          // вызовы функций
  inputmas(d,'d');
  raschet(c,&sredc,&minc);
  printrez(c,'c',sredc,minc);
  raschet(d,&sredd,&mind);
  printrez(d,'d',sredd,mind);
}
 
// определение функции ввода массива
void inputmas(float m[I][J], char im)
{
  int i,j;
  cout << "Вводим массив " << im << "";
  for (i=0; i<I; i++)
    for ( j=0; j < J; j++)
    {
      cout << im << " [" << i << " ][" << j << " ] = ";
      cin >> m[i][j];
    }
}
 
// опеределение суммы отрицательных элементов массива и расчет
// количества элементов в интервале от -5 до 5
void raschet (float x[I][J], float *sred, float *interval)
{
  int i,j,kol; // объявление переменных
  float sum=0.0; // для расчета суммы отрицательных элементов
  kol=0; // для расчета количества значений в интервале от -5 до 5
    for (i=0; i<I; i++)   // цикл по строкам массива
    for ( j=0; j < J; j++) // цикл по столбцам массива
    {
      if ( x[i][j] > -5 &&  x[i][j] < 5) // проверяем значения массива в интервале
      kol ++; // увеличиваем счетчик на 1
 
      if ( x[i][j] < 0 ) // проверяем значения массива <0
    {
      sum += x[i][j]; // суммируем при выполнении условия
    }
     }
  *interval = kol; // по указателю *interval присваиваем значение kol
  *sred = sum; // по указателю *sred присваиваем значение sum
}
как исправить, чтобы он считал не сумму отрицательных элементов,а количество отрицательных элементов? Помогите пожалуйста
и еще выдает 1 ошибку warning C4244: =: преобразование "int" в "float", возможна потеря данных
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2012, 15:27     Исправить код, чтобы он считал не сумму отрицательных элементов, а количество отрицательных элементов?
Посмотрите здесь:

Найти сумму положительных и количество отрицательных элементов массива C++
Массивы: вычислить сумму положительных и количество отрицательных элементов массива C++
C++ Одномерный массив. Найти количество и сумму отрицательных и четных элементов
Вычислить количество отрицательных элементов и их сумму C++
Матрица 3х3, найти количество отрицательных и сумму положительных элементов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
30.09.2012, 15:48     Исправить код, чтобы он считал не сумму отрицательных элементов, а количество отрицательных элементов? #2
Для начала исправь void main, на int main и напиши задание.
grosssmile
1 / 1 / 0
Регистрация: 26.09.2012
Сообщений: 37
30.09.2012, 15:50  [ТС]     Исправить код, чтобы он считал не сумму отрицательных элементов, а количество отрицательных элементов? #3
Цитата Сообщение от David Sylva Посмотреть сообщение
Для начала исправь void main, на int main и напиши задание.
Даны вещественные массивы c[3][4], d[3][4].
Определить количество отрицательных элементов, количество элементов в интервале от 1 до 5;
Программу нужно написать в двух вариантах: один с указателями, другой – со ссылками
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
30.09.2012, 16:13     Исправить код, чтобы он считал не сумму отрицательных элементов, а количество отрицательных элементов? #4
так как ты считаешь количество в интервале.Заводишь счётчик например count = 0 и если элемент меньше 0 увеличиваешь счётчик. Выдаёт ошибку потому что указатель типа float, а число типа int.
Yandex
Объявления
30.09.2012, 16:13     Исправить код, чтобы он считал не сумму отрицательных элементов, а количество отрицательных элементов?
Ответ Создать тему
Опции темы

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