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

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

Восстановить пароль Регистрация
 
Alex163
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 52
24.02.2014, 21:09     Найти разность количества положительных и отрицательных элементов #1
Помогите, пожалуйста. Нужно переделать вторую часть, где идет работа с заданием 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;}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2014, 21:09     Найти разность количества положительных и отрицательных элементов
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Amandosov
Знаток
156 / 156 / 65
Регистрация: 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);}
Alex163
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 52
24.02.2014, 21:26  [ТС]     Найти разность количества положительных и отрицательных элементов #3
Емаааа....Как всё просто было...Большущее спасибо!
Yandex
Объявления
24.02.2014, 21:26     Найти разность количества положительных и отрицательных элементов
Ответ Создать тему
Опции темы

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