Предмет: Информатика,
автор: AndrewRUSSIA23
В массиве целых чисел длины N требуется вычислить сумму элементов всех участков длины K. код просто С пж!!!!
Ответы
Автор ответа:
0
напишу толко алгоритм
while (I <n){
sum+=s;
s=0;
for (j=I; j <=k; j++){s+=mas [j];}
I++;
k++;
}
while (I <n){
sum+=s;
s=0;
for (j=I; j <=k; j++){s+=mas [j];}
I++;
k++;
}
Автор ответа:
0
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n=10, k;
int a[n];
int max = 20, min = -20;
int sum=0;
printf("k (<=10) = "); scanf("%d",&k);
srand (time(NULL));
for (int i=0; i<n; i++) {
a[i] = (float) rand() / RAND_MAX*(max-min)+min;
printf ("%d ", a[i]);
}
printf("n");
for (int i = 0; i<k; i++) sum+=a[i];
printf("sum (1..%d) = %dn", k,sum);
for (int i=1; i<=n-k; i++) {
sum = sum-a[i-1]+a[i+k-1];
printf("sum (%d..%d) = %dn", i+1, i+k, sum);
}
return 0;
}
Пример:
k (<=10) = 5-10 1 -11 -10 16 6 -1 -15 -19 9
sum (1..5) = -14
sum (2..6) = 2
sum (3..7) = 0
sum (4..8) = -4
sum (5..9) = -13
sum (6..10) = -20
#include <stdlib.h>
int main()
{
int n=10, k;
int a[n];
int max = 20, min = -20;
int sum=0;
printf("k (<=10) = "); scanf("%d",&k);
srand (time(NULL));
for (int i=0; i<n; i++) {
a[i] = (float) rand() / RAND_MAX*(max-min)+min;
printf ("%d ", a[i]);
}
printf("n");
for (int i = 0; i<k; i++) sum+=a[i];
printf("sum (1..%d) = %dn", k,sum);
for (int i=1; i<=n-k; i++) {
sum = sum-a[i-1]+a[i+k-1];
printf("sum (%d..%d) = %dn", i+1, i+k, sum);
}
return 0;
}
Пример:
k (<=10) = 5-10 1 -11 -10 16 6 -1 -15 -19 9
sum (1..5) = -14
sum (2..6) = 2
sum (3..7) = 0
sum (4..8) = -4
sum (5..9) = -13
sum (6..10) = -20
Похожие вопросы
Предмет: Химия,
автор: blabladla0
Предмет: Алгебра,
автор: prostok256
Предмет: Математика,
автор: karine0908
Предмет: Математика,
автор: milisa1231