Вычисление характеристик последовательности - C (СИ)
Формулировка задачи:
Вычислить указанные в Вашем варианте характеристики последовательности, вводимой с клавиатуры (без использования массивов и промежуточных файлов для хранения всей последовательности), учитывая, что элементы последовательности могут быть введены только один раз
В программе
обязательно применение функций
с передаваемыми параметрами. Подсчитать количество троек соседних чисел, которые можно взять в качестве длин сторон равнобедренного треугольника. Пример: 1, 8, 10, 3, 4, 4, 7, 20, 21, 21, 54, 45, 15, -18, 0 результат: K=3.Решение задачи: «Вычисление характеристик последовательности»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <math.h> int check(int a, int b, int c) { // проверка на треугольник, дальше сами int aa = (a + b > c) && (b + c > a) && (c + a > b); return aa; } void print(int a, int b, int c) { if (check(a, b, c)) printf("\n%d %d %d => yes", a, b, c); else printf("\n%d %d %d => no", a, b, c); } int main() { int t, a, b, c; int i, j = 1; // для тестов, впрограмме не нужно int primer[] = { 0, 0, 0, 3, 4, 4, 7, 20, 21, 21, 54, 45, 15, -18, 0 }; int n = sizeof(primer) / sizeof(primer[0]); // ввести свою n for (i = 0; i < n; ++i) { // тут свой ввод t = primer[i]; if (j == 1) { a = t; } else if (j == 2) { b = t; } else if (j == 3) { c = t; } j++; if (i >= 2) { print(a, b, c); j = j <= 3 ? j : 1; } } return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Определяем функцию
check
, которая проверяет, является ли данная комбинация чисел треугольником - Определяем функцию
print
, которая выводит сообщение о том, является ли треугольник или нет - В функции
main
определяем переменныеt
,a
,b
,c
,i
,j
и массивprimer
- Задаем размер массива
n
и выполняем ввод своих данных (уже не используется) - В цикле
for
проходим по массивуprimer
- При каждой итерации присваиваем переменным
a
,b
,c
соответствующие значения - Если
j
равно 1, тоa
присваивается значениеt
- Если
j
равно 2, тоb
присваивается значениеt
- Если
j
равно 3, тоc
присваивается значениеt
- Увеличиваем
j
на 1 - Если
i
больше или равно 2, то вызываем функциюprint
и сбрасываемj
до 1, 2 или 3 - По завершению цикла выводим 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д