В заданиях составить две программы. Первая должна формировать типизированный файл. Вторая – считать данные из этого файла, выполнить соответствующие вычисления и за-писать их результаты в текстовый файл. 1. Создать типизированный файл, куда записать n целых чисел. Из исходного файла сформи-ровать массивы четных и нечетных чисел. Определить наибольший отрицательный компонент файла и наименьший положительный.
2. Создать типизированный файл, куда записать произвольный текст. На основе исходного файла создать текстовый файл, содержащий слова, номер которых указывает пользователь.
program z1;
var i: integer;
a, x, f: real;
begin
writeln ('Программа вычисления функции f(x) = sin (2x) / sqrt (x)');
writeln ('При x, изменяющемя от 1 до 2 с шагом а');
writeln ('Введите шаг измениения функции (a>0)');
write ('a = ');
readln (a);
writeln ('i - номер строки');
writeln ('||');
writeln ('| Таблица функции f(x) = sin (2x) / sqrt (x) |');
writeln ('||');
writeln ('| i | x | f | Значение |');
writeln ('||');
i:=0;
x:=1;
repeat
i:=i+1;
f:=sin (2*x) / sqrt (x);
if f > 0 then writeln ('|',i:5,' | ',x:0:3,' | ',f:0:3,' | положительная |') else
if f < 0 then writeln ('|',i:5,' | ',x:0:3,' | ',f:0:3,' | отрицательная |') else
writeln ('|',i:5,' | ',x:0:3,' | ',f:0:3,' | равна 0 |');
writeln ('||');
x:=x+a;
until x > 2.0001
end.
Объяснение:
Программы будет выводит значение: положительная или отрицательная (а не неотрицательная, т.к. думаю, что там просто опечатка)
Программа допускает точность а до тысячных разрядов дробной части.
sin вычисляется в радианах
#include <iostream>
#include <cmath>
#include <set>
#include <vector>
#include <algorithm>
#pragma GCC optimize("Ofast")
using ll = long long;
using ld = long double;
using namespace std;
vector<vector<ll>> a;
ll find_min(vector<ll> v){
ll mn = pow(10,9);
for(auto i: v)
mn = min(i,mn);
return mn;
}
void f(ll n){
ll mn = find_min(a[n]);
for(ll i = 0; i < a[n].size(); i++)
a[n][i] *= mn;
}
signed main() {
ll n,m;
cin >> n >> m;
for(ll i = 0; i < n; i++){
vector<ll> temp(m);
for(ll j = 0; j < m; j++)
cin >> temp[j];
a.push_back(temp);
}
for(ll i = 0; i < n; i++)
f(i);
for(ll i = 0; i < n; i++){
for(ll j = 0; j < m; j++)
cout << a[i][j] << " ";
cout << "\n";
}
}