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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
grosssmile
1 / 1 / 0
Регистрация: 26.09.2012
Сообщений: 37
#1

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

30.09.2012, 15:27. Просмотров 345. Ответов 3
Метки нет (Все метки)

Доброго времени суток.
Есть код
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", возможна потеря данных
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2012, 15:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Исправить код, чтобы он считал не сумму отрицательных элементов, а количество отрицательных элементов? (C++):

В одномерном массиве вычислить количество отрицательных элементов и сумму модулей элементов, расположенных после минимального по модулю элемента - C++
/* В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) количество отриц. элементов массива; 2) сумму модулей...

Описать функцию, которая найдет количество отрицательных элементов массива и наибольшее из отрицательных - C++
Проинициализировать массив. Описать функцию, которая найдет количество отрицательных элементов массива. Описать функцию, которая найдет...

Вычислить количество отрицательных элементов и их сумму - C++
Дан одномерный массив C, который складывается с 15 элементов.Вычислить количество отрицательных элементов и их сумму

Найти сумму и количество отрицательных элементов последовательности - C++
Со входного устройства поступает последовательность целых чисел. Длина последовательности неизвестна. Требуется найти сумму и количество...

Найти сумму положительных, произведение и количество отрицательных элементов - C++
напишите программу, использующую для обращения к элементам массива указатели, которая получает с клавиатуры натуральное числоN -...

Найти сумму положительных и количество отрицательных элементов массива - C++
В универе дали следующее задание: Дан массив Ai, i=1,2,…,15. Найти сумму положительных элементов и количество отрицательных элементов...

3
David Sylva
1287 / 949 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.09.2012, 15:48 #2
Для начала исправь void main, на int main и напиши задание.
0
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;
Программу нужно написать в двух вариантах: один с указателями, другой – со ссылками
0
David Sylva
1287 / 949 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.09.2012, 16:13 #4
так как ты считаешь количество в интервале.Заводишь счётчик например count = 0 и если элемент меньше 0 увеличиваешь счётчик. Выдаёт ошибку потому что указатель типа float, а число типа int.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2012, 16:13
Привет! Вот еще темы с ответами:

Найти сумму отрицательных элементов массива и подсчитать их количество - C++
нуждаюсь в Вашей помощи. задание звучит так. Найти сумму отрицательных элементов массива x и подсчитать их количество. Представить...

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

Одномерный массив. Найти количество и сумму отрицательных и четных элементов - C++
#include &lt;iostream.h&gt; void function (int * arr, int n); int a; int sum, amount; int main() { int i; n=10; for ( i=0, 1&lt;10,...

Найти сумму и количество положительных и отрицательных элементов заданного массива - C++
Ребят, помогите решить задачку. Дан вектор B. Найти сумму и количество положительных и отрицательных элементов массива.


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
30.09.2012, 16:13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru