Вычисление характеристик последовательности - 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;
}

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы
  2. Определяем функцию check, которая проверяет, является ли данная комбинация чисел треугольником
  3. Определяем функцию print, которая выводит сообщение о том, является ли треугольник или нет
  4. В функции main определяем переменные t, a, b, c, i, j и массив primer
  5. Задаем размер массива n и выполняем ввод своих данных (уже не используется)
  6. В цикле for проходим по массиву primer
  7. При каждой итерации присваиваем переменным a, b, c соответствующие значения
  8. Если j равно 1, то a присваивается значение t
  9. Если j равно 2, то b присваивается значение t
  10. Если j равно 3, то c присваивается значение t
  11. Увеличиваем j на 1
  12. Если i больше или равно 2, то вызываем функцию print и сбрасываем j до 1, 2 или 3
  13. По завершению цикла выводим 0, чтобы указать, что программа успешно завершилась

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5
Похожие ответы