Поиск значений в массиве - PullRequest
       7

Поиск значений в массиве

0 голосов
/ 28 сентября 2018

Я новичок в кодировании и познакомился с языком Си.Мне нужна помощь в понимании конкретной концепции.

Я хочу знать, как я могу искать конкретное число (например, 4) в массиве (например, {1 2 4 5 6 4 6}).Как же я хочу распечатать индекс последнего вхождения 4. Как я могу это сделать?

Мне удалось сделать это до сих пор ... Что я не понимаю, так это как показать'' последнее вхождение данного числа ''

#include <stdio.h>
LastIndexOf(int search, int values[], int numValues){
    int i;
    int display;
    for(i=0;i<numValues;i++){
        if(values[i] == search){
            display = i
        }
    }
}

любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 28 сентября 2018

Как-то так должно работать

#include <stdio.h>
int LastIndexOf(int search, int values[], int numValues){
    int i;
    int display=-1;
    for(i=0;i<numValues;i++){
        if(values[i] == search){
            display = i;
        }
    }
    return display;
}

void main() {
    int display = LastIndexOf( ... );
    printf("Last occurrence at postion %i \n",display);
    return 0;
}

Как указано в комментариях, версия, возвращающаяся назад, намного лучше:

int LastIndexOf(int search, int values[], int numValues){
   for(int i=numValues-1;i>=0;i--){
       if(values[i] == search) {
            return  i;
       }
   }
   return -1;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...