#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#define n 20
#define e 3
int main() {
int a[n], c, s = 0, cm = 0, sm;
srand(time(NULL));
printf("random array:");
for (c = 0; c < n; ++c) printf(" %d", a[c] = rand() % 10);
for (c = 0; c < e; ++c) s += a[c];
sm = s;
for (; c < n; ++c) {
if ( (s += a[c] - a[c - e]) > sm ) {
sm = s;
cm = c - e + 1;
}
}
printf("\nmax sum: %d\nelements:", sm);
for (c = cm; c < cm + e; ++c) printf(" a[%d] = %d;", c, a[c]);
getchar();
return 0;
}
Другие языки программирования и технологии
Дан массив из 20 элементов. Найти три «соседних» элементов, сумма значений которых максимальна. как это на СИ сделать?
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <conio.h>
#define N 20
#define M 3
int main () {
int a[N], b[M], summa, max, n, index;
srand((unsigned)time(NULL));
while (1) {
for (n = 0; n < N; n++) a[n] = rand() % 90 + 10;
for (n = 0; n < N; n++) printf("%d ", a[n]);
summa = max = a[0] + a[1] + a[2];
index = 0;
for (n = M; n < N; n++) {
summa -= a[n - M];
summa += a[n];
if (summa > max) {
max = summa;
index = n - M + 1;
}
} printf("\n");
for (n = 0; n < M; n++) b[n] = a[index++];
for (n = 0; n < M; n++) printf("%d ", b[n]);
printf("\n\n");
_getch();
}
return 0;
}
#include <time.h>
#include <stdio.h>
#include <conio.h>
#define N 20
#define M 3
int main () {
int a[N], b[M], summa, max, n, index;
srand((unsigned)time(NULL));
while (1) {
for (n = 0; n < N; n++) a[n] = rand() % 90 + 10;
for (n = 0; n < N; n++) printf("%d ", a[n]);
summa = max = a[0] + a[1] + a[2];
index = 0;
for (n = M; n < N; n++) {
summa -= a[n - M];
summa += a[n];
if (summa > max) {
max = summa;
index = n - M + 1;
}
} printf("\n");
for (n = 0; n < M; n++) b[n] = a[index++];
for (n = 0; n < M; n++) printf("%d ", b[n]);
printf("\n\n");
_getch();
}
return 0;
}
Не знал да забыл - хуже всего. Просто словами можешь описать, что нужно? Если нет, то тебе уже не помочь.
Похожие вопросы
- 16. Дан массив из 20 элементов. Найти пять «соседних» элементов, сумма значений которых максимальна. ??
- Дан массив из 20 элементов. Найти номер минимального элемента. (Pascal ABC)
- задача в pascale. дан массив. Найти минимальный элемент и отсортировать все элементы стоящие после него.
- Паскаль.Элементарно,но чё то никак( дан массив.все его элементы разделить на первый элемент.и вывести на экран
- Дан двумерный массив C(m,n). Найти произведение элементов, больших среднего значения. Помогите пожалуйста!!!
- Дан двумерный массив C(m,n). Найти произведение элементов, больших среднего значения. Помогите пожалуйста!!! На паскале
- дан массив целых чисел F1,F2...Fn. распечатать элементы, нах-ся между min и max и их номера. подскажите где я ошибся
- Дан массив N<100 целых чисел. Упорядочить элементы по убыванию и вывести те элементы, которые остались на своих места
- Дан массив размера 10. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максима
- В упорядоченный по возрастанию числовой массив из 20 элементов вставить числа –4 и 7, не нарушая упорядоченности. pascal