Given an integer array of 30 elements. Describe the algorithm that finds and displays the sum of the largest along the length of the increasing sequence of consecutive elements. If there are several such sequences, you can output any of them.
Here is my code:
#include <stdio.h> main(){ int dig[10]; int i,sum,dlina,dlinamax,maxsum; for (i = 0 ; i <= 4 ;i++){ scanf("%d",&dig[i]); } for ( i = 0 ; i <= 9 ; i++){ dlina = 1; sum = dig[i]; if (dig[i] < dig[i + 1]){ sum += dig[i + 1]; dlina++; } if (dlina > dlinamax){ dlinamax = dlina; maxsum = sum; } } printf("Сумма самой длинной возрастающей последовательности: %d\n",maxsum); }
Corrected:
#include <stdio.h> main(){ int dig[10]; int i,sum,dlina,dlinamax,maxsum; for (i = 0 ; i <= 9 ;i++){ scanf("%d",&dig[i]); } maxsum = 0; dlinamax = 0; for ( i = 0 ; i <= 9 ; i++){ dlina = 1; sum = dig[i]; if (dig[i] > dig[i - 1]){ sum += dig[i]; dlina++; } if (dlina > dlinamax){ dlinamax = dlina; maxsum = sum; } } printf("Сумма самой длинной возрастающей последовательности: %d\n",maxsum); }
now constantly writes 4