Возврат значения функцией - C (СИ)
Формулировка задачи:
Суть состоит в том, что когда я хочу вивести значение t в теле main выводится 0.
Кто знает что я не так пишу?
#include <stdio.h> int FuncOne(int *pArr, int r, int x) { int t=-1; for (int i=0; i<r;++i) if (pArr[i]==x) t=++i; return t; } int main() { int t,x,r; int *pArr=new int[r]; printf("Enter massiv size:"); scanf("%i",&r); printf("Enter elements:\n"); for( int i=0; i<r;++i) scanf("%i", &pArr[i]); printf("Enter x:"); scanf("%i",&x); printf("Number of element what =x:%i",t); }
Решение задачи: «Возврат значения функцией»
textual
Листинг программы
#include <stdio.h> int FuncOne(int *pArr, int r, int x) { int t=0; for (int i=0; i<r;++i) if (pArr[i]==x) t++; return t; } int main() { int t,x,r; printf("Enter massiv size:"); scanf("%i",&r); int *pArr=new int[r]; printf("Enter elements:\n"); for( int i=0; i<r;++i) scanf("%i", &pArr[i]); printf("Enter x:"); scanf("%i",&x); printf("Number of element what =x:%i",FuncOne(pArr, r, x)); }
Объяснение кода листинга программы
- Включаем библиотеку
для работы с выводом в консоль - Функция FuncOne принимает три параметра: указатель на массив, размер массива и значение, которое нужно найти в массиве
- Внутри функции инициализируем переменную t = 0, которая будет считать количество найденных элементов
- Цикл for проходит по всем элементам массива, начиная с 0 и до r (размер массива - 1)
- Если значение элемента pArr[i] равно x, то увеличиваем значение переменной t на 1
- Функция возвращает значение переменной t
- В функции main объявляем переменные t, x, r
- С помощью scanf считываем значение переменной r (размер массива)
- С помощью new выделяем память под массив pArr**, размером r
- С помощью цикла for считываем значения элементов массива pArr с помощью scanf**
- С помощью scanf считываем значение переменной x
- Вызываем функцию FuncOne с параметрами pArr, r, x
- Выводим результат на экран с помощью printf
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д