Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 14.10.2014
Сообщений: 39
1

Вычислить значение выражения

02.06.2015, 14:21. Показов 1076. Ответов 9
Метки нет (Все метки)

Вычислить yi=7*arctg(xi)+F; здесь i=1,15 (1 до 15). Массив x вводится из файла f1. F меняется от -4 шагом 0,5. Массив y записать в файл f2.
Для начала нужно создать файл f1 и ввести в него массив x ? Больше всего я не понимаю как вычислить этот пример .

Вот мой бред . Пока что без файлов.
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
#include <iostream>
#include <fstream>
#include <conio.h>
#include <math.h>
using namespace std;
main()
{ int x[15];
int F,y;
int i;
 
for( int i=1;i<=15;i++)
{
cout<<"vvedite massiv";
cin>>x[i];}
 
while (F<=15)
{ F=-4;
 
 F=F+0.5;
 
}
y=7*atan(x[i])+F;
cout<<y;
 
 
return(0);
 
 
 }
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2015, 14:21
Ответы с готовыми решениями:

Вычислить значение выражения
Помогите пожалуйста написать программный код) Af^2+B(sqrt(f+1)), ...

Вычислить значение выражения
Вычислить значение выражения

Вычислить значение выражения
Помогите пожалуйста выполнить данное задание.

Вычислить значение выражения
Дано натуральное число n. Вычислить . i1 j1 i 2 j

9
67 / 67 / 72
Регистрация: 10.04.2015
Сообщений: 281
02.06.2015, 14:38 2
Лучший ответ Сообщение было отмечено HarDEXtreme как решение

Решение

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
#include <iostream>
#include <fstream>
#include <conio.h>
#include <math.h>
using namespace std;
int main()
{ 
    int x[15]; //массив x
    double y; //так как арктангенсы - результат точно не целый
    fstream in_file,out_file; //создаем 2 стрима, один для взятия чисел с 1 файла, второй для записи результата во 2 файл.
    in_file.open("inmassiv.txt", std::fstream::in); //открываем для чтения
    out_file.open("outmassiv.txt",std::fstream::out); //открываем для записи  
    int F = -4;
    for( int i=1;i<=15;i++)
    {
        in_file>>x[i]; //считали значение х
        y=7*atan(x[i])+F; //вычислили пример
        cout<<y<<"\n"; //вывели в консольку результат
        out_file<<y<<"\n"; //записали результат в файл
        F+=0.5;         //увеличили
    }
    in_file.close(); //закрыли оба файлика.
    out_file.close();
return(0); 
}
1
Просто Лис
Эксперт Python
4407 / 2804 / 929
Регистрация: 17.05.2012
Сообщений: 8,190
Записей в блоге: 9
02.06.2015, 14:45 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main()
int x[15];
int F,y;
 
for( int i=0;i<15;i++){
cout<<"vvedite massiv";
cin>>x[i];}
 
for (double F=-4;F<=15;F+=0.5){
  for( int i=0;i<15;i++){
    y=7*atan(x[i])+F;
    cout<<y;
  }
  cout<<endl;
} 
return(0); 
}
Добавлено через 3 минуты
Цитата Сообщение от mr_mczakenberg Посмотреть сообщение
C++
1
int x[15]; //массив x
Цитата Сообщение от mr_mczakenberg Посмотреть сообщение
C++
1
for( int i=1;i<=15;i++) { in_file>>x[i]; //считали значение х
Здесь программа вывалится, так как в последней итерации будет выход за границы массива.
1
67 / 67 / 72
Регистрация: 10.04.2015
Сообщений: 281
02.06.2015, 14:50 4
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main()
int x[15];
int F,y;
 
for( int i=0;i<15;i++){
cout<<"vvedite massiv";
cin>>x[i];}
 
for (double F=-4;F<=15;F+=0.5){
  for( int i=0;i<15;i++){
    y=7*atan(x[i])+F;
    cout<<y;
  }
  cout<<endl;
} 
return(0); 
}
Добавлено через 3 минуты


Здесь программа вывалится, так как в последней итерации будет выход за границы массива.
Я и забыл поменять тип F с int на double...
Надо было от 0 до < 15, верно?


Просто мне кажется что у меня какой-то неправильный DEV C++.
У себя компилирую - не вылетает. Все 15 результатов просчитались.(с неправильным F)
У меня работает - а у всех ломается)
1
Просто Лис
Эксперт Python
4407 / 2804 / 929
Регистрация: 17.05.2012
Сообщений: 8,190
Записей в блоге: 9
02.06.2015, 15:01 5
Цитата Сообщение от mr_mczakenberg Посмотреть сообщение
Надо было от 0 до < 15, верно?
Да, нумерация элементов в массиве с нуля. От 0 до 14 включительно.
Цитата Сообщение от mr_mczakenberg Посмотреть сообщение
У себя компилирую - не вылетает.
Так просто нехорошо (даже нельзя!) писать в память, в которой может лежать что угодно. И выход за границы массива это всегда плохо.
1
0 / 0 / 1
Регистрация: 14.10.2014
Сообщений: 39
02.06.2015, 16:16  [ТС] 6
mr_mczakenberg, в условии сказано от 1 до 15

Добавлено через 35 минут
В вашем примере элементы для массива х автоматически вводятся ?
и еще "y" у вас это массив ? y[i].

Добавлено через 7 минут
Массив х предназначен для того чтобы вывело 15 вариантов ответов для y[i] верно?
0
Просто Лис
Эксперт Python
4407 / 2804 / 929
Регистрация: 17.05.2012
Сообщений: 8,190
Записей в блоге: 9
02.06.2015, 16:46 7
В массиве x хранится 15 значений. То есть x[0], x[1], x[2] ... x[13], x[14].
Здесь:
C++
1
2
3
for( int i=0;i<15;i++){
cout<<"vvedite massiv";
cin>>x[i];}
происходит заполнение массива, пользователь вводит в программу числа на клавиатуре.

Здесь
C++
1
2
3
4
for( int i=0;i<15;i++){
        in_file>>x[i]; //считали значение х
//...
}
Значения берутся из файла. Однако, перед этим следует создать файл "inmassiv.txt" и заполнить его:
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1
0 / 0 / 1
Регистрация: 14.10.2014
Сообщений: 39
02.06.2015, 18:44  [ТС] 8
Вычислить P=Q(5,7)*x(7); Z=y(5)*R(5,2);
Матрица Q вводится из файла f3. Матрица R вводится из файла f4.Результаты матрицы P и Z добавляются в файл f1.
Здесь такой же метод написания программы , как предложил mr_mczakenberg, ?
Например:
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
#include <fstream>
#include <conio.h>
#include <math.h>
using namespace std;
  main()
{
int Q[5][7];
int x[7];
int y[5];
int R[5][2];
int P,X,j,i; 
fstream in_file,out_file;
in_file.open("F3.txt", std::fstream::in); 
 
out_file.open("F1.txt",std::fstream::out);
for(i=0;i<=5;i++)
for(j=0;j<=7;j++)
{ in_file>>Q[i][j]>>x[j];
 P=Q[i][j]*x[j];
 cout<<P<<"\n";
 out_file<<P<<"\n";
}
in_file.close();
out_file.close();
return(0);}
Здесь только Q матрица.

Добавлено через 6 минут
Точнее P матрица

Добавлено через 42 минуты
Вычислить P=Q(5,7)*x(7); Z=y(5)*R(5,2) Новая тема .
0
0 / 0 / 1
Регистрация: 14.10.2014
Сообщений: 39
03.06.2015, 16:41  [ТС] 9
Рыжий Лис,

Название: 1Снимок.PNG
Просмотров: 11

Размер: 2.4 Кб


Правильно вывело?
0
0 / 0 / 1
Регистрация: 14.10.2014
Сообщений: 39
03.06.2015, 16:41  [ТС] 10
mr_mczakenberg,
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2015, 16:41

Вычислить значение выражения
Вычислить S = cos(x) = 1 - x^2/2! + x^4/4! +..+ (-1)^N x^(2 N)/(2 N)! для заданного N.

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

Вычислить значение выражения
Найти значение с точностью к 0.00001 для значений х,размещенных на интервале (0;1) с шагом 0.25.

Вычислить значение выражения
Пожалуйста, весь код.


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

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

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