Упражнения C: Найти индекс равновесия массива
C Массив: Упражнение-86 с раствором
Напишите программу на C, чтобы найти индекс равновесия массива.
Пример решения:
Код C:
#include <stdio.h>
void findEquiIndex(int arr1[], int n)
{
int sumofleft[n];
sumofleft[0] = 0;
for (int i = 1; i < n; i++)
{
sumofleft[i] = sumofleft[i - 1] + arr1[i - 1];
}
int sumofright = 0;
for (int i = n - 1; i >= 0; i--)
{
if (sumofleft[i] == sumofright)
{
printf("%d ",i);
}
sumofright += arr1[i];
}
}
int main()
{
int arr1[] = { 0, -4, 7, -4, -2, 6, -3, 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");
//-----------------------------------------------------------
printf("The equilibrium index found at : ");
findEquiIndex(arr1, n);
return 0;
}
Пример вывода:
Данный массив: 0 -4 7 -4 -2 6 -3 0 Индекс равновесия найден при: 7 5 0
Блок - схема:
Редактор кода программирования C:
Улучшите этот пример решения и опубликуйте свой код через Disqus.
Предыдущий: Напишите программу на C, чтобы подсчитать все возможные пути от верхнего левого до нижнего правого угла матрицы X n.
Далее: Напишите программу на C, чтобы найти максимальный элемент в массиве, который сначала увеличивается, а затем уменьшается.
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code