Возврат значения функцией - 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));
}

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

  1. Включаем библиотеку для работы с выводом в консоль
  2. Функция FuncOne принимает три параметра: указатель на массив, размер массива и значение, которое нужно найти в массиве
  3. Внутри функции инициализируем переменную t = 0, которая будет считать количество найденных элементов
  4. Цикл for проходит по всем элементам массива, начиная с 0 и до r (размер массива - 1)
  5. Если значение элемента pArr[i] равно x, то увеличиваем значение переменной t на 1
  6. Функция возвращает значение переменной t
  7. В функции main объявляем переменные t, x, r
  8. С помощью scanf считываем значение переменной r (размер массива)
  9. С помощью new выделяем память под массив pArr**, размером r
  10. С помощью цикла for считываем значения элементов массива pArr с помощью scanf**
  11. С помощью scanf считываем значение переменной x
  12. Вызываем функцию FuncOne с параметрами pArr, r, x
  13. Выводим результат на экран с помощью printf

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


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

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

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