Найти наибольший элемент в заданной строке - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Написать функцию для произвольного двухмерного классического (не свободного) массива с использованием индексов. int func(int *array, int dim1, int dim2, ...). Найти наибольший элемент в заданной строке.

Решение задачи: «Найти наибольший элемент в заданной строке»

textual
Листинг программы
int func(int *array, int dim1, int dim2, int nRow)
{
    int r,i,v,off;
    if(nRow<0 || nRow>=dim2)
        return -1;
    off=nRow*dim1;
    v=array[off];
    for(i=1; i<dim1; i++){
        v=array[off+i];
        if(v>r)
            r=v;
    }
    return r;
}

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

В данном коде представлена функция с именем func, которая принимает в качестве аргументов массив array, размерность массива по первому измерению dim1, размерность массива по второму измерению dim2 и номер строки nRow. Внутри функции происходит следующая последовательность действий:

  1. Проверка корректности номера строки nRow. Если nRow меньше нуля или больше или равно dim2, то функция возвращает -1.
  2. Вычисление смещения в массиве для заданной строки nRow. Для этого выполняется умножение nRow на dim1.
  3. Присваивание первого элемента строки переменной v.
  4. Цикл начинается с i=1 и выполняется до тех пор, пока i меньше dim1.
  5. Внутри цикла происходит присваивание следующего элемента строки переменной v.
  6. Сравнение текущего элемента v с переменной r. Если v больше r, то r присваивается значение v.
  7. По завершению цикла, функция возвращает значение r. Таким образом, функция func предназначена для поиска наибольшего элемента в заданной строке массива.

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


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

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

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