Найти индексы первого и последнего вхождения заданного целого числа N в последовательность - C (СИ)
Формулировка задачи:
Найти индексы первого и последнего вхождения заданного целого числа N в последовательность целых чисел, которая сохраняется в динамическом массиве. Количество элементов и их значения вводятся с клавиатуры. Ввода и вывода массива реализовать отдельными функциями.
Решение задачи: «Найти индексы первого и последнего вхождения заданного целого числа N в последовательность»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> void vvod(int* array, int size) { int i; for ( i = 0; i < size; ++i) { printf("Inter elememt "); scanf("%d", &array[i]); } } void vivod(int* array, int size) { int i; for ( i = 0; i < size; ++i) printf("%d ", array[i]); printf("\n"); } int main(void) { int N, size, index_f = -1, index_l = -1, i; int* array; printf("Inter size of array\n"); scanf("%d",&size); array = (int*) malloc(size+1); vvod(array, size); vivod(array, size); printf("Inter N "); scanf("%d",&N); for ( i = 0; i < size; ++i) if(array[i] == N) { index_f = i; break; } for ( i = size; i >= 0; i--) if(array[i] == N) { index_l = i; break; } if(index_f == -1 || index_l == -1) printf("No number\n"); else { printf("first index %d\n", index_f); printf("last index %d\n", index_l); } }
Объяснение кода листинга программы
Код начинается с подключения двух библиотек: stdio.h и stdlib.h. Далее следуют четыре функции:
- *vvod(int array, int size)** - ввод элементов массива с помощью функции scanf.
- *vivod(int array, int size)** - вывод элементов массива с помощью цикла for и функции printf.
- main(void) - главная функция программы, в которой происходит основная логика.
- free(array) - освобождение памяти, выделенной под массив.
В функции main после ввода размера массива и самого массива, вводится искомое число N.
Далее, в два прохода, ищутся индексы первого и последнего вхождения числа N в массив.
Если оба индекса найдены, выводится сообщение с найденными индексами.
Если не найден один из индексов, выводится сообщение
No number
. Примечание: код не проверяет на достаточность памяти при выделении массива, а также не проверяет корректность ввода размера массива и числа N.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д