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

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

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

Author24 — интернет-сервис помощи студентам
есть задача...найти произведение элементов удовлетворяющий условию 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2012, 20:45
Ответы с готовыми решениями:

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

Найти произведение элементов массива, удовлетворяющих заданному условию
а) Одномерный массив Х(8) задать в программе. Найти произведение элементов, удовлетворяющих условию...

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

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

17
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 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
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
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
25.11.2012, 21:10 4
Ну, так и есть. Что такое tan и чему оно равно?
0
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 21
25.11.2012, 21:11  [ТС] 5
тан это тангенс...условие такое..."найти произведение при условии тангенс измеряется от 0 до 1"
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
25.11.2012, 21:14 6
А как по мне, так это переменная вещественного типа, которая и не задана и не меняется. Тангенс есть в math.h (cmath): tan(число).
0
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 21
25.11.2012, 21:15  [ТС] 7
а как сделать чтобы она менялась?

Добавлено через 21 секунду
я пробовал в скобках tan(ii) писать...но ошибку выдает
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 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
59 / 59 / 24
Регистрация: 17.11.2012
Сообщений: 1,602
25.11.2012, 21:24 9
Цитата Сообщение от AlexDT Посмотреть сообщение
а как сделать чтобы она менялась?
Можно сделать, чтобы пользователь задавал значение массива с клавиатуры или же, чтобы массив самостоятельно заполнялся рандомными числами.
Цитата Сообщение от AlexDT Посмотреть сообщение
я пробовал в скобках tan(ii) писать...но ошибку выдает
Что это?! ii - это размер массива.
0
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
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
25.11.2012, 21:36 11
Что?? 1 аргумент - это уже слишком много? Интересно. Кстати размера массива хватает?
0
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
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
25.11.2012, 21:40 13
А, ну понятно: не нужно объявлять тангенс, сотрите, пока никто не увидел (16 строка). И 5 строчку тоже. Ни к чему два подключения одной библиотеки.
0
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 21
25.11.2012, 21:42  [ТС] 14
ха) убрал) а сейчас опять старую ошибку в тангенсе он выдает)
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 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
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 21
25.11.2012, 21:48  [ТС] 16
а вы не могли бы скинуть результат?)
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
25.11.2012, 21:55 17
Содержимое файла "3.txt":
Код
 10 2 2
 5 5 1
 3 7 0
 5 22 0
 3 22 1
 5 25 2
Миниатюры
Найти произведение элементов, удовлетворяющих условию 0 < tan < 1  
1
0 / 0 / 0
Регистрация: 08.10.2011
Сообщений: 21
25.11.2012, 21:58  [ТС] 18
огромное вам спасибо BumerangSP, я вам очень признателен, удачи вам, добрый человек
0
25.11.2012, 21:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2012, 21:58
Помогаю со студенческими работами здесь

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

Найти произведение элементов массива A={a[i]}, удовлетворяющих условию c<=a[i]<=d
Найти произведение элементов массива A={a}, удовлетворяющих условию c&lt;=a&lt;=d.

Найти произведение и количество элементов, удовлетворяющих условию
Дан масси В(20) Найти произведение и количество элементов удовлетворяющих условию a &lt;b &lt;c

Найти произведение элементов массива, удовлетворяющих условию
 задав одномерный массив целочисленных данных А в одном из заданных форматов (BYTE, WORD,...


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

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

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