Упражнения C: Найти максимум n - m
C Массив: упражнение-88 с раствором
Напишите программу на C, чтобы найти максимальное n - m такое, что array [n]> array [m] из заданного массива []. Для данного массива arr [] найдите максимум j - i такой, что arr [j]> arr [i].
Пример решения:
Код C:
#include <stdio.h>
int findMaxDiffercence(int arr1[], int ar_size)
{
int mandndiff = -1;
int m, n;
for (m = 0; m < ar_size; ++m)
{
for (n = ar_size-1; n > m; --n)
{
if(arr1[n] > arr1[m] && mandndiff < (n - m))
{
printf("m = %d, n = %d, arr1[m] = %d arr1[n] = %d difference = %d\n",m,n,arr1[m],arr1[n],n-m);
mandndiff = n - m;
}
}
}
return mandndiff;
}
int main()
{
int arr1[] = {7, 5, 8, 2, 3, 2, 4, 2, 1, 0};
int n = sizeof(arr1)/sizeof(arr1[0]);
int i;
//------------- print original array ------------------
printf("The given array is: \n");
for(i = 0; i < n; i++)
{
printf("%d ", arr1[i]);
}
printf("\n");
//-----------------------------------------------------------
int mandndiff = findMaxDiffercence(arr1, n);
printf("\nThe maximum differcences between two position of array index is: %d", mandndiff);
getchar();
return 0;
}
Пример вывода:
Данный массив: 7 5 8 2 3 2 4 2 1 0 m = 0, n = 2, arr1 [m] = 7 arr1 [n] = 8 разность = 2 m = 3, n = 6, arr1 [m] = 2 arr1 [n] = 4 разница = 3 Максимальные различия между двумя позициями индекса массива: 3
Блок - схема:
Редактор кода программирования C:
Улучшите этот пример решения и опубликуйте свой код через Disqus.
Previous: написать программу на C, чтобы найти максимальный элемент в массиве, который сначала увеличивается, а затем уменьшается.
Далее: Напишите программу на C, чтобы найти квадратную подматрицу максимального размера со всеми единицами.
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code