М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
ert12375
ert12375
13.07.2022 00:52 •  Информатика

Программирование в си++ ! нужно написать программу, в которой 2 переменные типа float в main() являются локальными, а после используются в функции, которая вычисляет квадраты этих чисел. , исправьте мои ошибки. #include #include #include #include int function(float *pointer1, float *pointer2) { float ch1, ch2; ch1 = powf(*pointer1, 2); ch2 = powf(*pointer2, 2); printf_s("квадрат первого числа равен: %f\n", ch1); printf_s("квадрат второго числа равен: %f\n", ch2); system("pause"); return(0); } int main() { setlocale(lc_all, "rus"); float a, b; float *pointer1; float *pointer2; printf_s("введите первое число: "); scanf_s("%f", & a); printf_s("введите второе число: "); scanf_s("%f", & b); pointer1 = & a; pointer2 = & b; function(& a,& b); } + напишите программу с возвратом значений

👇
Ответ:
Mila2019
Mila2019
13.07.2022
Можно вот так, например (проверено в Dev C++):

#include <iostream>
#include <cmath>
using namespace std;
int function(float *pointer1, float *pointer2)
{
float ch1, ch2;
ch1 = powf(*pointer1, 2);
ch2 = powf(*pointer2, 2);
cout<<"Квадрат первого числа равен:"<<ch1<<endl;
cout<<"Квадрат второго числа равен:"<<ch2<<endl;
return(0);
}

int main()
{
setlocale(LC_ALL, "RUS");
float a, b;
float *pointer1;
float *pointer2;
cout<<"Введите первое число:";
cin>>a;
cout<<"Введите второе число:";
cin>>b;
pointer1 = &a;
pointer2 = &b;
function(&a,&b);
system("PAUSE");
}
4,7(96 оценок)
Открыть все ответы
Ответ:
alenayugova26Alena
alenayugova26Alena
13.07.2022
Используем формулу Герона для нахождения площади треугольника по трем сторонам: S=√(p·(p-a)·(p-b)·(p-c)), где p - полупериметр, равный
p=(a+b+c)/2

Программа:

program z;
var a1,b1,c1,a2,b2,c2,p1,p2,s1,s2:real;
begin
readln(a1,b1,c1);   {ввод длин сторон первого треугольника}
p1:=(a1+b1+c1)/2; {полупериметр первого треугольника}
s1:=sqrt(p1*(p1-a1)*(p1-b1)*(p1-c1)); {площадь первого треугольника}

readln(a2,b2,c2);  {ввод длин сторон второго треугольника}
p2:=(a2+b2+c2)/2; {полупериметр второго треугольника}
s2:=sqrt(p2*(p2-a2)*(p2-b2)*(p2-c2)); {площадь второго треугольника}
if s1=s2                   {если площади треугольников равны}
then writeln('Yes')   {то вывести положительный ответ}
else writeln('No');    {иначе вывести отрицательный ответ}
end.
4,7(22 оценок)
Ответ:
ltimofienko
ltimofienko
13.07.2022
1. Схематически записываем условие
Есть две команды: (1) ×3 и (2) -5
Тут я ввожу обозначения: в скобках некий "код" команды, а далее обозначение, что именно она делает. Команда с кодом 1 умножает на три, с кодом 2 - вычитает 5.
Теперь, что нам надо получить: 8 ⇒ 36, т.е. из 8 получить 36.

2. Анализируем, какое число может быть перед выполнением последней (т.е. пятой) команды.
Применим к результату команды, обратные к (1) и (2).
Действие, обратное умножению - это деление, вычитанию - сложение.
Для (1) получим 36/3 = 12, т.е. в результате выполнения первых четырех (пока в неизвестном порядке) команд должно получиться 12.
Для (2) получим 36+5 = 41.

3. Теперь анализируем, какой могла бы быть третья команда
Чтобы получить 12 после (1), нужно взять число 12/3 = 4.
Чтобы получить 12 после (2), нужно взять число 4+5=9.
Получить 41 после (1) невозможно, поскольку 41 на 3 не делится нацело.
Чтобы получить 41 после (2), нужно взять число 41+5=46.
Итак, имеем три числа-кандидата.
46 выглядит подозрительно, потому что получить его можно только из 51 при поскольку 46 на 3 не делится и не может быть получено при А получить 8 ⇒ 51 за две возможные операции не получится. Поэтому 46 отбрасываем.

4. Анализируем, какой могла бы быть вторая по порядку команда
Получить 4 после (1) нельзя, потому что 4 не делится на 3.
Чтобы получить 4 после (2), нужно взять число 4+5=9.
Чтобы получить 9 после (1), нужно взять число 9/3 = 3.
Чтобы получить 9 после (2), нужно взять число 9+5=14.

5. Рассматриваем, что можно получить из исходного числа
а) 8 после (1) дает 8×3 = 24 и получить 3, 9 или 14 из 24 при одной из имеющихся команд невозможно.
б) 8 после (2) дает 8-5 = 3 - это и есть решение проблемы.

6. Устанавливаем цепочку преобразований (код команды в скобках).
8-5 = 3 (2)
3х3 = 9 (1)
9-5 = 4 (2)
4х3 = 12 (1)
12х3 = 36 (1)

ответ: 21211 - набор команд
4,5(23 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ