Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
urac
0 / 0 / 0
Регистрация: 16.07.2016
Сообщений: 1
1

Найдите серию положительных элементов заданной длины K

27.06.2017, 14:43. Просмотров 708. Ответов 1
Метки нет (Все метки)

Дан массив A(M). Найдите серию положительных элементов заданной длины K, (серий может быть несколько).

Формат входных данных. [K][M] [1-й элемент массива A] [2-й элемент массива A] и т.д. Элементы массива – целые числа в диапазоне ±1000. M - целое число в диапазоне [2, 20], K - целое число в диапазоне [1, длина массива].
Формат выходных данных. [индекс элемента массива A из первой серии элементов] [пробел] [индекс элемента массива A из первой серии элементов] и т.д. [перевод строки] [индекс элемента массива A из второй серии элементов] [пробел] [индекс элемента массива A из второй серии элементов] и т.д. Если нет ни одной серии, то напечатать no solution.
Рекомендуемое кол-во циклических операторов (без ввода данных): 2 (3?)
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2017, 14:43
Ответы с готовыми решениями:

Найдите наиболее длинную непрерывную серию отрицательных элементов в массиве
Ребят срочно, нужна эта программа на Си. Сдача горит. Дан массив A(M)....

Найдите разность Суммы положительных элементов главной диагонали и Минимального кратного 3 элементов строки ма
Найдите разность Суммы положительных элементов главной диагонали и Минимального...

Определить количество серий в массиве. Найти серию максимальной длины
Помогите разработать программу, которая могла бы справиться с данной задачей...

Преобразовать массив, увеличив первую серию наибольшей длины на один элемент
Дан массив, состоящий из n элементов. Назовем серией группу подряд идущих...

Преобразовать массив, увеличив его первую серию наибольшей длины на один элемент
Привет ребят! Есть рабочая программа на паскале: // Дан целочисленный массив...

1
Геомеханик
788 / 595 / 937
Регистрация: 26.06.2015
Сообщений: 1,409
27.06.2017, 15:28 2
Лучший ответ Сообщение было отмечено urac как решение

Решение

Как понял, так и сделал.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
 
int find_n(const int* a, int n, int p, int* e, int K, int (*cmp)(int)){
    int i = p;
    while(i < n){
        while((i < n) && !(*cmp)(a[i]))
            ++i;
 
        p = i;
        while((p < n) && (*cmp)(a[p]))
            ++p;
 
        if((i < p) && ((p - i) == K)){
            *e = p;
            return i;
        }
        i = p;
    }
    return n;
}
 
static int compare(int n) { return (n > 0); }
 
int main(void){
    int i, p, e;
    int a[] = { 1, 2, 3, -1, 2, -4, -5, 9, 1, 1, -4, 6, -7, 9, 9, 8 };
    int n   = sizeof(a)/sizeof(a[0]);
    int K   = 3;
 
    p = e = 0;
    while((p = find_n(a, n, p, &e, K, &compare)) != n){
        printf("first: %d  last: %d  [ ", p, e - 1);
        for(i = p; i < e; ++i)
            printf("%d ", a[i]);
        puts("] ");
        p = e;
    }
 
    if(!e)
        puts("no solution");
    getchar();
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2017, 15:28

В массиве заданной длины рассчитать сумму всех отрицательных элементов стоячих на четных местах
Решить задачу: В массиве заданной длины N рассчитать сумму всех отрицательных...

Найти среднее арифметическое положительных элементов строки, у которой сумма положительных элементов нечетна
вот какое-то начало, я чет матрицу не могу задать и формулу для вычисления не...

Найти серию подряд идущих элементов
Дан целочисленный массив размером n. Назовем серией группу подряд идущих...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru