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

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

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

Найти произведение элементов, удовлетворяющих условию 0 < tan < 1 - C++

25.11.2012, 20:45. Просмотров 616. Ответов 17
Метки нет (Все метки)

есть задача...найти произведение элементов удовлетворяющий условию 0<tan<1...дан массив...который должен содержаться в файле...т.е. считываем элементы из файла...никак не получается присоединить файл...

#include "stdafx.h"
#include <iomanip>
#include <conio.h>
#include <iostream>
#include <math.h>
#include <fstream>
using namespace std;

int main()
{


C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const int N= 5;
    int i;
    double tan;
    double P = 1;
    
    ifstream InFile("D:\massiv1.txt");
    //fin.open("D:\massiv1.txt", ios_base::in);
    for(i=0; i<N;i++)
    {
        if ((tan<1)&&(!InFile.is_open()))
            P *=N[i];
    }
    InFile.close();
    cout<<"P = "<<P<<endl;
    cin.get();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2012, 20:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти произведение элементов, удовлетворяющих условию 0 < tan < 1 (C++):

Найти произведение элементов массива, удовлетворяющих условию - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: а) произведение элементов, не равных нулю; б) произведение...

Найти произведение элементов массива, удовлетворяющих заданному условию - C++
а) Одномерный массив Х(8) задать в программе. Найти произведение элементов, удовлетворяющих условию 0&lt;tg(xi)&lt;1, а также сумму...

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

Найти произведение элементов массива с чётными номерами и количество элементов, удовлетворяющих условию - C++
Добрый день,я создал код по условию задачи: 3. В одномерном массиве С, состоящем из N вещественных элементов, вычислить: a)...

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

Вычислить количество и произведение элементов массива, удовлетворяющих условию - C++
В одномерном массиве из n вещественных элементов вычислить : 1)количество элементов массива больших С. 2)произведение элементво...

17
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
25.11.2012, 20:55 #2
Вот простой пример считывания значений в массив из файла:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <fstream>
int main()
{
    std::ifstream f;
    int a[100],i=0;
     f.open("1.txt");
    while (f.good())
         f>>a[i++];
     f.close();
     for (int ii=0; ii<i; ii++)
     std::cout<<a[ii]<<'\t';
    return 0;
}
В файле просто числа через пробел стоят.
1
AlexDT
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 21
25.11.2012, 21:07  [ТС] #3
Спасибо огромное
переделал..сейчас почему то выводится что P равно 1...при любых значениях в файле...


C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    
    
    double tan;
    double P = 1;
    std::ifstream f;
    int a[15],i=0;
     f.open("D:\massiv1.txt");
    //fin.open("D:\massiv1.txt", ios_base::in);
      while (f.good())
         f>>a[i++];
    for (int ii=0; ii<i; ii++)
    
        if (tan<1) 
            P *=a[ii];
    
    f.close();
     std::cout<<"P = "<<P<<endl;
    cin.get();
    return 0;
}
0
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
25.11.2012, 21:10 #4
Ну, так и есть. Что такое tan и чему оно равно?
0
AlexDT
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 21
25.11.2012, 21:11  [ТС] #5
тан это тангенс...условие такое..."найти произведение при условии тангенс измеряется от 0 до 1"
0
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
25.11.2012, 21:14 #6
А как по мне, так это переменная вещественного типа, которая и не задана и не меняется. Тангенс есть в math.h (cmath): tan(число).
0
AlexDT
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 21
25.11.2012, 21:15  [ТС] #7
а как сделать чтобы она менялась?

Добавлено через 21 секунду
я пробовал в скобках tan(ii) писать...но ошибку выдает
0
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
25.11.2012, 21:23 #8
Думаю, так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <fstream>
#include <cmath>
int main()
{
    std::ifstream f;
    double p=1;
    int a[100],i=0;
     f.open("1.txt");
    while (f.good())
         f>>a[i++];
     f.close();
     for (int ii=0; ii<i; ii++)
      {
            if (tan(a[ii])>0 && tan(a[ii])<1)
               p*=a[ii];    
           std::cout<<a[ii]<<'\t';
      } 
    std::cout<<'\n'<<"P = "<<p;  
    return 0;
}
0
HidForce
56 / 56 / 13
Регистрация: 17.11.2012
Сообщений: 1,602
25.11.2012, 21:24 #9
Цитата Сообщение от AlexDT Посмотреть сообщение
а как сделать чтобы она менялась?
Можно сделать, чтобы пользователь задавал значение массива с клавиатуры или же, чтобы массив самостоятельно заполнялся рандомными числами.
Цитата Сообщение от AlexDT Посмотреть сообщение
я пробовал в скобках tan(ii) писать...но ошибку выдает
Что это?! ii - это размер массива.
0
AlexDT
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 21
25.11.2012, 21:33  [ТС] #10
спасибо) ошибка в тангенсе пропала....но появилась ошибка в а..
C++ (Qt)
1
if (tan(a[ii])>0 && tan(a[ii])<1)
выделяет "а" в обоих случаях...пишет что слишком много аргументов в вызове функции
0
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
25.11.2012, 21:36 #11
Что?? 1 аргумент - это уже слишком много? Интересно. Кстати размера массива хватает?
0
AlexDT
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 21
25.11.2012, 21:37  [ТС] #12
C++ (Qt)
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
#include "stdafx.h"
#include <iomanip>
#include <conio.h>
#include <iostream>
#include <math.h>
#include <fstream>
#include <cmath> 
using namespace std;
 
int main()
{
 
 
    
    
    long double tan();
    std::ifstream f;
    double P = 1;
    int a[15],i=0;
     f.open("D:\massiv1.txt");
    //fin.open("D:\massiv1.txt", ios_base::in);
      while (f.good())
         f>>a[i++]; 
      f.close();
    for (int ii=0; ii<i; ii++)
    {
          if (tan(a[ii])>0   &&  tan(a[ii])<1)
            P *=a[ii];
    std::cout<<a[ii]<<'\t';
    
    }
     std::cout<<"P = "<<P<<endl;
    cin.get();
    return 0;
}
посмотрите код пожалуйста
0
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
25.11.2012, 21:40 #13
А, ну понятно: не нужно объявлять тангенс, сотрите, пока никто не увидел (16 строка). И 5 строчку тоже. Ни к чему два подключения одной библиотеки.
0
AlexDT
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 21
25.11.2012, 21:42  [ТС] #14
ха) убрал) а сейчас опять старую ошибку в тангенсе он выдает)
0
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
25.11.2012, 21:46 #15
Я специально в студии проверил, все работает.
Кликните здесь для просмотра всего текста
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
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <cmath> 
using namespace std;
 
int main()
{
    std::ifstream f;
    double P = 1;
    int a[15],i=0;
     f.open("D:\\massiv1.txt");
    //fin.open("D:\massiv1.txt", ios_base::in);
      while (f.good())
         f>>a[i++]; 
      f.close();
    for (int ii=0; ii<i; ii++)
    {
          if (tan(a[ii])>0   &&  tan(a[ii])<1)
            P *=a[ii];
    std::cout<<a[ii]<<'\t';
    
    }
     std::cout<<"P = "<<P<<endl;
    cin.get();
    return 0;
}
0
25.11.2012, 21:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2012, 21:46
Привет! Вот еще темы с ответами:

Произведение элементов удовлетворяющих условию 0<tgXj < 1, А также сумму положительных - C++
Есть 2 задачи непонятно как решать (помоему там чета не хватает) подскажите...код писать не надо, просто словами расшифровать подробние. ...

Дана матрица. Вычислите сумму и произведение нечётных отрицательных элементов матрицы, удовлетворяющих условию - C++
Дана целочисленная матрица A(N, M). Вычислите сумму и произведение нечётных отрицательных элементов матрицы, удовлетворяющих условию | ai j...

Найти количество элементов массива, удовлетворяющих условию 1<b[i]<m - C++
В массиве b(25), сформированном случайным образом, найти количество элементов, удовлетворяющих условию 1&lt;b&lt;m, где 1 и m - заданные...

Найти номер минимального элемента массива; найти сумму элементов, удовлетворяющих условию - C++
1. Найти номер минимального элемента массива. 2. Найти сумму элементов массива, расположенных между первым и вторым от- рицательными...


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

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

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