Разработать функцию, которая возвращает указатель на последний элемент целочисленного массива - C (СИ)
Формулировка задачи:
Указание:
Разработать подпрограмму в виде функции. Привести пример вызова разработанной функции из главной функции программы main( ). Адрес массива должен передаваться в функцию при помощи указателя. Результат функции должен возвращаться в точку вызова также при помощи указателя.Задание:
Разработать функцию, которая возвращает указатель на последний элемент целочисленного массива, равный заданному значению, передаваемому в функцию. Привести пример вызова разработанной функции для поиска числа 4 а) во всем целочисленном массиве из 10 элементов б) в отрезке массива от 2-го по 8-й элемент Можете подсказать, правильно ли сделана функция? Не компилируется в моём VB из-за ошибки C4703#include "stdio.h" int* searchPointer(int array[], int number) { int* pointer; for (int i = 1; i < 9; i++) { if (array[i] == number) { pointer = &array[i]; } } return pointer; } int main() { int array[] = { -1,-5,-5,4,2 }; int n = 5; int *q, *p; int a, b, c = 0; for (q = &b, p = array; p < array + n - 1; p++) { if (*p > 0 || *p % 2 == 0) { q = p; break; } } a = *(q + 1); b = *q; printf("%p\n", searchPointer(array, -5)); return 0; }
Решение задачи: «Разработать функцию, которая возвращает указатель на последний элемент целочисленного массива»
textual
Листинг программы
int main() { int array[] = { -1,-5,-5,4,2,6,7,8,11,-3 }; int n = 10; int *q, *p; int a, b, c = 0; for (q = &b, p = array; p < array + n - 1; p++) { if (*p > 0 || *p % 2 == 0) { q = p; break;
Объяснение кода листинга программы
- Объявляется целочисленный массив array[] и инициализируется значениями {-1,-5,-5,4,2,6,7,8,11,-3}.
- Объявляется переменная n и инициализируется значением 10.
- Объявляются три переменные q, p и a.
- Переменная q инициализируется адресом переменной b.
- Переменная p инициализируется адресом первого элемента массива array.
- Переменная a инициализируется значением 0.
- В цикле for происходит перебор элементов массива array от второго до предпоследнего элемента.
- Если значение текущего элемента больше нуля или делится нацело на 2, то выполняется следующее действие.
- Переменная q присваивается адрес текущего элемента p.
- Цикл for прерывается.
- Выводится значение переменной q.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д