Войти
Регистрация
Спроси ai-bota
В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Показать больше
Показать меньше
fffff2098
26.08.2020 04:07 •
Информатика
4. Заполните таблицу для модулей, которые используются для пере-
мещения, движения объекта.
Модуль руgame
Функции модуля
Назначение
5. Составьте и запишите свою версию рассказа, употребив все предло-
женные ключевые термины по теме.
со вето
Показать ответ
Ответ:
tomlinsondarya
20.12.2022 22:39
Код написан ниже.
Пример ввода:
4
x100+12mamba+11=barry-3
7x100-4barry=4
barry=x100-2mamba
4=2+2
Пример вывода:
barry=6
mamba=-1
x100=4
#include <iostream>
#include <map>
#include <string>
#include <set>
#include <vector>
#define abs(x) ((x)<0 ? -(x) : (x))
using namespace std;
typedef map<string, double> equation;
equation parseLine(const string &str, set<string> &vars) {
map<string, double> eqn;
bool left_part = true;
size_t i = 0;
while (i < str.length()) {
double n = 0;
bool isNeg = !left_part;
bool isCoeffOmitted = true;
string var = "";
if (str[i] == '='){
left_part = false;
i++;
continue;
}
if ((str[i] == '-') || (str[i] == '+'))
{
if (str[i] == '-') isNeg = !isNeg;
i += 1;
}
while ((i < str.length()) && (str[i] >= '0') && (str[i] <= '9')) {
n = 10 * n + (str[i] - '0');
isCoeffOmitted = false;
i++;
}
if ((i < str.length()) && (str[i] == '.')) {
int exp = 0;
i++;
while ((i < str.length()) && (str[i] >= '0') && (str[i] <= '9')){
n = 10 * n + (str[i] - '0');
exp++;
i++;
}
for (int j = 0; j < exp; n /= 10., j++);
}
while ((i < str.length()) && (str[i] != '+') && (str[i] != '=') && (str[i] != '-')){
var += str[i];
i++;
}
if (isCoeffOmitted) n = 1;
if (isNeg) n = -n;
eqn[var] += n;
vars.insert(var);
}
return eqn;
}
void GaussJordan(vector<equation> &eqns, const vector<string> &vars) {
for (size_t i = 0; i < vars.size(); i++) {
size_t j = i;
while ((j < eqns.size()) && (eqns[j][vars[i]] == 0))
j++;
if (j == eqns.size()) throw "Underdetermined system";
if (j != i) swap(eqns[i], eqns[j]);
double elem = eqns[i][vars[i]];
for (equation::iterator it = eqns[i].begin(); it != eqns[i].end(); it++)
it->second /= elem;
for (j = i + 1; j < eqns.size(); j++){
elem = eqns[j][vars[i]];
for (equation::iterator it = eqns[i].begin(); it != eqns[i].end(); it++)
eqns[j][it->first] -= elem * eqns[i][it->first];
}
}
for (size_t i = vars.size(); i < eqns.size(); i++)
for (equation::iterator it = eqns[i].begin(); it != eqns[i].end(); it++)
if (abs(it->second) > 1e-12) throw "No solutions";
for (size_t i = vars.size() - 1; i > 0; i--) {
for (size_t j = 0; j < i; j++) {
eqns[j][""] -= eqns[j][vars[i]] * eqns[i][""];
eqns[j][vars[i]] = 0;
}
}
}
void printAnswer(vector<equation> &eqns, vector<string> &vars) {
for (size_t i = 0; i < vars.size(); i++)
cout << vars[i] << "=" << -eqns[i][""] << endl;
}
int main() {
set<string> vars;
vector<equation> eqns;
size_t n = 0;
cin >> n;
for (size_t i = 0; i < n; i++) {
string t;
cin >> t;
eqns.push_back(parseLine(t, vars));
}
vars.erase("");
vector<string> vars_list(vars.begin(), vars.end());
try {
GaussJordan(eqns, vars_list);
}
catch (char const *e) {
cout << e;
return 1;
}
printAnswer(eqns, vars_list);
return 0;
}
0,0
(0 оценок)
Ответ:
ДашаКотик2007
12.06.2022 11:58
Using System;
class Program
{
static void Main()
{
var random = new Random(DateTime.Now.Millisecond);
int n = 3;
var f = new int[n, n];
int c;
Console.WriteLine("f:");
for (var i = 0; i < n; i++)
{
for (var j = 0; j < n; j++)
{
f[i, j] = random.Next(0, 9);
Console.Write(f[i, j] + " ");
}
Console.WriteLine();
}
Console.WriteLine();
for(int i = 0; i < n; i++) {
if (f[i,0] != f[i,i]){
c = f[i,0]; f[i,0] = f[i,i]; f[i,i] = c;
}
}
Console.WriteLine("New f:");
for(int i = 0; i < n; i++){
for (var j = 0; j < n; j++)
Console.Write(f[i,j] + " ");
Console.WriteLine();
}
Console.WriteLine();
Console.ReadKey();
}
}
Пример:
f:
8 1 0
3 6 3
0 5 7
New f:
8 1 0
6 3 3
7 5 0
0,0
(0 оценок)
Популярные вопросы: Информатика
KendallK
08.11.2020 20:05
подскажите ♡ Для представления величин, составляющих в сумме нечто целое, особенно полезна... A) Ярусная диаграмма Б) Табликруговая диграммацы В) Лепестковая диаграмма Г) Модестолбчатая...
КристинаСоболева
31.05.2021 09:07
На шоссе расположены пункты K и R , удалённые друг от друга на 51 км. Мотоциклист выехал из пункта R в направлении, противоположном K , со скоростью 54 км/ч. Составь математическую...
nyurachernikov
04.05.2021 08:15
Разгадайте ребус Буду рад...
kobita
12.08.2022 01:20
Реши задачу. (ответ округли до целых). Книга содержит 146 страниц. На каждой странице 32 строк. В каждой строке 59 символов (включая пробелы). Найти информационный объём текста, считая,...
Sofiya11111111111111
05.04.2023 16:56
Для чего служит группа элементов названия?...
hooh232non666
13.10.2021 09:03
4. Можно ли однозначно восстановить чёрно-белый рисунок по его двоичной записи, содержащей только коды всех пикселей?Как вы предложили бы решить эту проблему?пользуются четыре оттенка.6....
voloseikotatian
08.09.2021 13:31
Подробно упростите выражения, используя законы логики....
moskaliov
11.01.2021 03:23
грузоподъёмность лифта q кг сможет ли лифт поднять n человек, если вес каждого известен. составить программа Паскаль...
inkakanchiyp0706d
29.10.2020 00:15
Вычислить заданное выражение для целых (INTEGER) чисел a,b, используя оператор IF. Результат X вещественный (REAL). Обязательна проверка на область допустимых значений ОДЗ. ( Необходимо...
tretekova86
27.11.2020 06:49
Скруктурова сукупність даних,розміщених по рядках і стовпцях...
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку
О НАС
О нас
Блог
Карьера
Условия пользования
Авторское право
Политика конфиденциальности
Политика использования файлов cookie
Предпочтения cookie-файлов
СООБЩЕСТВО
Сообщество
Для школ
Родителям
Кодекс чести
Правила сообщества
Insights
Стань помощником
ПОМОЩЬ
Зарегистрируйся
Центр помощи
Центр безопасности
Договор о конфиденциальности полученной информации
App
Начни делиться знаниями
Вход
Регистрация
Что ты хочешь узнать?
Спроси ai-бота
Пример ввода:
4
x100+12mamba+11=barry-3
7x100-4barry=4
barry=x100-2mamba
4=2+2
Пример вывода:
barry=6
mamba=-1
x100=4
#include <iostream>
#include <map>
#include <string>
#include <set>
#include <vector>
#define abs(x) ((x)<0 ? -(x) : (x))
using namespace std;
typedef map<string, double> equation;
equation parseLine(const string &str, set<string> &vars) {
map<string, double> eqn;
bool left_part = true;
size_t i = 0;
while (i < str.length()) {
double n = 0;
bool isNeg = !left_part;
bool isCoeffOmitted = true;
string var = "";
if (str[i] == '='){
left_part = false;
i++;
continue;
}
if ((str[i] == '-') || (str[i] == '+'))
{
if (str[i] == '-') isNeg = !isNeg;
i += 1;
}
while ((i < str.length()) && (str[i] >= '0') && (str[i] <= '9')) {
n = 10 * n + (str[i] - '0');
isCoeffOmitted = false;
i++;
}
if ((i < str.length()) && (str[i] == '.')) {
int exp = 0;
i++;
while ((i < str.length()) && (str[i] >= '0') && (str[i] <= '9')){
n = 10 * n + (str[i] - '0');
exp++;
i++;
}
for (int j = 0; j < exp; n /= 10., j++);
}
while ((i < str.length()) && (str[i] != '+') && (str[i] != '=') && (str[i] != '-')){
var += str[i];
i++;
}
if (isCoeffOmitted) n = 1;
if (isNeg) n = -n;
eqn[var] += n;
vars.insert(var);
}
return eqn;
}
void GaussJordan(vector<equation> &eqns, const vector<string> &vars) {
for (size_t i = 0; i < vars.size(); i++) {
size_t j = i;
while ((j < eqns.size()) && (eqns[j][vars[i]] == 0))
j++;
if (j == eqns.size()) throw "Underdetermined system";
if (j != i) swap(eqns[i], eqns[j]);
double elem = eqns[i][vars[i]];
for (equation::iterator it = eqns[i].begin(); it != eqns[i].end(); it++)
it->second /= elem;
for (j = i + 1; j < eqns.size(); j++){
elem = eqns[j][vars[i]];
for (equation::iterator it = eqns[i].begin(); it != eqns[i].end(); it++)
eqns[j][it->first] -= elem * eqns[i][it->first];
}
}
for (size_t i = vars.size(); i < eqns.size(); i++)
for (equation::iterator it = eqns[i].begin(); it != eqns[i].end(); it++)
if (abs(it->second) > 1e-12) throw "No solutions";
for (size_t i = vars.size() - 1; i > 0; i--) {
for (size_t j = 0; j < i; j++) {
eqns[j][""] -= eqns[j][vars[i]] * eqns[i][""];
eqns[j][vars[i]] = 0;
}
}
}
void printAnswer(vector<equation> &eqns, vector<string> &vars) {
for (size_t i = 0; i < vars.size(); i++)
cout << vars[i] << "=" << -eqns[i][""] << endl;
}
int main() {
set<string> vars;
vector<equation> eqns;
size_t n = 0;
cin >> n;
for (size_t i = 0; i < n; i++) {
string t;
cin >> t;
eqns.push_back(parseLine(t, vars));
}
vars.erase("");
vector<string> vars_list(vars.begin(), vars.end());
try {
GaussJordan(eqns, vars_list);
}
catch (char const *e) {
cout << e;
return 1;
}
printAnswer(eqns, vars_list);
return 0;
}
class Program
{
static void Main()
{
var random = new Random(DateTime.Now.Millisecond);
int n = 3;
var f = new int[n, n];
int c;
Console.WriteLine("f:");
for (var i = 0; i < n; i++)
{
for (var j = 0; j < n; j++)
{
f[i, j] = random.Next(0, 9);
Console.Write(f[i, j] + " ");
}
Console.WriteLine();
}
Console.WriteLine();
for(int i = 0; i < n; i++) {
if (f[i,0] != f[i,i]){
c = f[i,0]; f[i,0] = f[i,i]; f[i,i] = c;
}
}
Console.WriteLine("New f:");
for(int i = 0; i < n; i++){
for (var j = 0; j < n; j++)
Console.Write(f[i,j] + " ");
Console.WriteLine();
}
Console.WriteLine();
Console.ReadKey();
}
}
Пример:
f:
8 1 0
3 6 3
0 5 7
New f:
8 1 0
6 3 3
7 5 0