0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 52
1

Найти разность количества положительных и отрицательных элементов

24.02.2014, 21:09. Показов 1255. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста. Нужно переделать вторую часть, где идет работа с заданием 2. Там выполняется сумма отрицательных элементов. А мне нужно найти разность количества положительных и отрицательных элементов, где элементы считываются из файла.
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
// GuryanovFirstlab.cpp : Defines the entry point for the console application.
//
 
 
#include "stdafx.h"                                                         // подключаем файл
#include <fstream>                                                          // подключаем библиотеку
#include <iostream>                                                         // подключаем библиотеку
using namespace std;                                                        // используем имя std
 
template < class T>                                                         // Функция задания 1.Используем шаблон.Объявление шаблона.
T countAB(T a,T b)                                                          // Объявление шаблона
{if(a>b){if(a==0)
    {
        cout<<"Division by zero"<<endl;                                     //Проверка на ноль
        return 0;
    }
    return b/(a+1);}                                                        
    else if(a==b)
        return 25;                                                      
 
    if(b==0)
    {
        cout<<"Division by zero"<<endl;                                     //Проверка на ноль
        return 0;
    }
 
    return  (a*a*a-5)/b;}                                                       
 
double MasAB(double* a,double d,int k)                                      //Функция задания 2.Вещественная функция обработки массива.В качестве параметров передаем a-указатель на массив,вещественное значение обработки массива d и целочисленное количество элементов k
{double sum=0;
for ( int i=0;i<k;i++)
  if ((a[i]<0)&&(a[i]<=d))
      sum+=a[i];
return sum;}
 
 
int main(int argc,  char*argv[])                                                //Основное тело программы
{
    setlocale (LC_ALL,"RUS");                                                   
                                                            //Задание 1
ifstream file;                                                                  //Объявление файловой переменной
file.open("input.txt",ios::in);                                                 //Присваиваем файловой переменной значение-файл.Открываем файл для чтения.
 
if(!file)
    return 1;                                                                   //Проверка существования файла
int k;                                                                          //Объявление переменной целочисленной переменной к.В
file>>k;                                                                        //Считываем переменную к из файла.k-количество выполнения задания 1,т.е.,количество считываемых пар значений a и b
double dA,dB;                                                                   //Объявление вещественных переменных dA,dB
for(int i=0;i<k;i++)                                                            //Цикл-итератор.
{
    file>>dA>>dB;                                                               //Считываем из файла вещественные переменные dA,dB
    cout<<"As double f("<<dA<<","<<dB<<")="<< countAB(dA,dB)<<endl;             //Выводим значение вещественной функции от вещественных значений на экран
    cout<<" "<<endl;
    cout<<"As integer f("<<dA<<","<<dB<<")="<< countAB((int)dA,(int)dB)<<endl;  //Выводим значение целой функции от целых значений на экран
    cout<<" "<<endl;
    cout<<" "<<endl;
}
file.close();                                                                   //Закрываем файл
cout<<"Введите символ для выполнения задания 2"<<endl;
getchar();                                                                      //Пауза перед выполнением задания 2.Ждём ввода любого символа.
 
                                                        //Задание 2.
file.open("input2.txt",ios::in);                                                //Присваиваем файловой переменной другое значение.Открываем файл для чтения.
if(!file)
    return 1;                                                                   //Проверка существования файла
double d;                                                                       //Объявление  вещественной переменной d-переменной для обработки массива
file>>d;                                                                        //Считывание d из файла
k=0;                                                                            //Присвоение ранее объявлённой переменной целой k значения 0.Теперь k-количество элементов массива,считанных из файла
double* dc=(double*)malloc(100*sizeof(double));                                 //Объявление динамического массива
if  (dc)                                                                        //Проверка на существование динамического массива
{for (int j=0;j<100,!file.eof();j++)                                            //Цикл-итератор
{file>>dc[j];                                                                   //Считывание элеметов массива из файла
cout<<" "<<dc[j];                                                               //Вывод значений элементов массива на экран
k++;}                                                                           //Увеличиваем значение k-количества элементов массива на 1
cout<<" "<<MasAB(dc,d,k)<<endl;                                                 //Выводим на экран значение функции обработки массива
free(dc);}                                                                      //Освобождаем динамическую память
file.close();                                                                   //Закрываем файл
getchar();                                                                      //Пауза.Ждём ввода символа для завершения программы.
return 0;}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2014, 21:09
Ответы с готовыми решениями:

Определите разность количества положительных и отрицательных чисел последовательности. Как это можно понять?
Последовательность состоит из целых чисел и завершается числом 0. Определите разность количества...

Вычислить произведение количества отрицательных и количества положительных элементов одномерного массива
Указатели. Вычислить произведение количества отрицательных и количества положительных элементов...

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

Найти разность суммы положительных и произведения отрицательных чисел массива
Найти разность суммы положительных и произведения отрицательных чисел массиванапишите...

2
Знаток
156 / 156 / 185
Регистрация: 18.11.2012
Сообщений: 411
Записей в блоге: 2
24.02.2014, 21:22 2
Цитата Сообщение от Alex163 Посмотреть сообщение
double MasAB(double* a,double d,int k)* * * * * * * * * * * * * * * * *
{double sum=0;
for ( int i=0;i<k;i++)
* if ((a[i]<0)&&(a[i]<=d))
* * * sum+=a[i];
return sum;}
C++
1
2
3
4
5
6
double MasAB(double* a,double d,int k)                               
{double sum=0;
for ( int i=0;i<k;i++)
  if ((a[i]<0)&&(a[i]<=d))
      sum++;
return abs(k-2*sum);}
1
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 52
24.02.2014, 21:26  [ТС] 3
Емаааа....Как всё просто было...Большущее спасибо!
0
24.02.2014, 21:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2014, 21:26
Помогаю со студенческими работами здесь

Функция (параметр - одномерный массив). Вычислить разность между количеством отрицательных и положительных элементов
Помогите, пожалуйста, с задачей. Сложность - работа с указателями.. Задача: Вычислить разность...

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

Вычислить суммы отрицательных, произведения положительных и количества нулевых элементов в массиве
Знатоки, помогите написать программы по информатике. У меня полный завал по этой теме, а через...

Вычислить разность между количеством отрицательных и количеством положительных элементов одномерного массива
Здравствуйте уважаемые форумчане. Возникли трудности при решении задачи. :wall: Буду очень...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru