Переделать программы с использованием циклов - C (СИ)
Формулировка задачи:
Здравствуйте. Нужно переделать 2 программы, они полностью рабочие, но как оказалось нужно было их сделать через цикл, а как их сделать через цикл я не знаю.
Написать программу, которая по заданным трем числам определяет , является сумма каких-либо двух из них положительной.
#include <iostream>
int main(
{
int a,b,c,d,f,g;
std::cin>>a>>b>>c;
if ((d=a+b)>0)
std::cout<<d;
if ((f=a+c)>0)
std::cout<<f;
if ((g=b+c)>0)
std::cout<<g;
return 0;
}Даны три положительных числа. Определить, можно ли построить треугольник с длинами сторон , равным этим числам. Если можно, то ответить на вопрос, является ли он остроугольным.
#include <iostream>int main()
{
float a,b,c,d,f,g;
std::cin>>a>>b>>c;
if ((a+b>c) && (a+c>b) && (b+c>a))
std::cout<<"Treygolnik syhestvyet";
else
std::cout<<"Treygolnik ne syhestvyet";
if (((a*a)+(b*b)>(c*c)) && ((a*a)+(c*c)>(b*b)) && ((b*b)+(c*c)>(a*a)))
std::cout<<"Treygolnik ostroygolny"; else
std::cout<<"Treygolnik ne ostroygolny";
return 0;
}Решение задачи: «Переделать программы с использованием циклов»
textual
Листинг программы
#include <iostream>
using namespace std;
int main()
{
int i=1,j=0;
int a[3];
cout<<"Vvedute 4usla"<<endl;
cin>>a[0]>>a[1]>>a[2];
while(j<3)
{
if((a[j]+a[i])>0) cout<<"Summa "<<j+1<<" u "<<i+1<<" 4usla > 0"<<endl;
else if((a[j]+a[i])==0) cout<<"Summa "<<j+1<<" u "<<i+1<<" 4usla = 0"<<endl;
else cout<<"Summa "<<j+1<<" u "<<i+1<<" 4usla < 0"<<endl;
if(j==1) i=0;
else i++;
j++;
}
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с потоками ввода-вывода
- Объявление переменных i и j, которые будут использоваться в цикле
- Объявление массива a размером 3 для хранения введенных пользователем значений
- Вывод сообщения с просьбой ввести значения для массива a
- Ввод значений для массива a с помощью функции
cin - Организация цикла while, который будет выполняться до тех пор, пока значение переменной j меньше 3
- Внутри цикла проверка суммы элементов a[j] и a[i] с помощью условного оператора if
- Если сумма положительна, то выводится сообщение об этом
- Если сумма равна нулю, то выводится соответствующее сообщение
- Если сумма отрицательна, то выводится соответствующее сообщение
- Условие для перехода к следующему шагу цикла (i++)
- Условие для перехода к следующему шагу цикла (j++)
- Повторение пунктов 7-12 до тех пор, пока цикл не завершится
- Завершение программы с помощью оператора return