С Новым годом! Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 1
Регистрация: 28.04.2010
Сообщений: 11

Написать функцию определения количества отрицательных элементов массива

18.05.2010, 00:17. Показов 2425. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Подскажите, пожалуйста, ошибку!
Функция все время возвращает кол-во отрицательных элементов, равное размеру одномерного массива. Поэтому всегда выводится условие равенства кол-ва отриц. элементов. Где моя ошибка?

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
#include <iostream>
using namespace std;
int f(double *A,int g)      // функция определения кол-ва отрицательных элементов
{
int k=0;
for(int j=0; j<g; j++)
        if (A[j]<0)
            k++;
return k;
    }
int main()
{
    int i,g;
    const int ui(20);
    double arrP[ui],arrB[ui];
 
printf("\nКол-во элементов массива P и B: ");
scanf("%d",&g);
 
printf("\nВведите массив P: ");
    for (i=0;i<g;i++)
    {
        printf("\nA[%d]: ",i);
        scanf("%d",&arrP[i]);
        }
 
printf("\nВведите массив B: ");
    for (i=0;i<g;i++)
    {
        
        printf("\nB[%d]: ",i);
        scanf("%d",&arrB[i]);
        }
printf("\nВведенный массив P:\n\n ");
    for (i=0;i<g;i++)
    {
            printf("%d",arrP[i]);
    }
printf("\nВведенный массив B:\n\n");
    for (i=0;i<g;i++)
    {
            printf("%d",arrB[i]);
    }
 
if (f(arrP,g)<f(arrB,g))// если кол-во отриц. элементов в P<B, то
    {
        printf("\nОтрицательных элементов больше в массиве B \n\n");
    for (i=0;i<g;i++)
            printf("%d ",arrB[i]); 
    }
else if (f(arrP,g)>f(arrB,g)){ // иначе если кол-во отриц. элементов в P > B
    printf("\nОтрицательных элементов больше в массивe P \n\n");
    for (i=0;i<g;i++)
        printf("%d",arrP[i]);}
    else 
    {
    printf("\nРавное кол-во отрицательных элементов\n");
    printf("\n 1ый элемент массива P: %d\n",arrP[0]); 
    printf("\n 1ый элемент массива B: %d\n",arrB[0]); 
    }
    return 0; 
    }
Само задание:
Разработать подпрограмму для определения количества отрицательных элементов в одномерном массиве. Используя эту подпрограмму, определить, в каком из двух заданных одномерных массивов Р и В количество отрицательных элементов больше, и вывести его на печать с соответствующим поясняющим текстом. В случае равенства количества нулевых элементов в обоих массивах вывести на печать лишь первые элементы каждого из массивов.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.05.2010, 00:17
Ответы с готовыми решениями:

Вычисление количества отрицательных элементов массива
Заполнить одномерный массив из 10 элементов случайными целыми числами. Вывести массив на чистом экране. Вычислить количество отрицательных...

Написать функцию для определения max элемента массива с элементами типа int
Написать функцию для определения max елемента масиву с елементами типа int.

Написать функцию, которая переставляет местами первые n элементов массива A с последними n элементами массива В
Помогите пожалуйста с задачкой. Написать функцию, которая переставляет местами первые n элементов массива A с последними n элементами...

4
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
18.05.2010, 00:42
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от RaDs Посмотреть сообщение
double arrP[ui],arrB[ui];
Объявили массив double
Цитата Сообщение от RaDs Посмотреть сообщение
scanf("%d",&arrP[i]);
А теперь прочитай про строки формата и найди ошибку. Потом исправь везде.

Добавлено через 4 минуты
К слову, мне непонятно, для чего тебе нужен iostream и namespace.
1
0 / 0 / 1
Регистрация: 28.04.2010
Сообщений: 11
18.05.2010, 10:53  [ТС]
Спасибо! сменил на float все заработало
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
18.05.2010, 12:51
А я бы на %lf сменил
1
0 / 0 / 1
Регистрация: 28.04.2010
Сообщений: 11
18.05.2010, 15:19  [ТС]
Vourhey,большое спасибо за помощь!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.05.2010, 15:19
Помогаю со студенческими работами здесь

Написать функцию вычисления суммы элементов массива
1).Написать функцию вычисления суммы элементов массива

Написать функцию вычисления суммы элементов массива
Добрый вечер! Помогите с кодом. Написать функцию вычисления суммы элементов массива

Написать функцию ,находящую сумму четных элементов массива
Здравствуйте помогите пожалуйста исправить ошибку. Нужно подсчитать сумму четных элементов массива ( массив статический). #include...

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

Написать функцию, вычисляющую среднее арифметическое элементов массива
Доброго вечера, господа. Есть несколько заданий. 1) Написать две функции для вывода на экран значений элементов массивов целых и ...


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

Или воспользуйтесь поиском по форуму:
5
Закрытая тема Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru