Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 16.07.2016
Сообщений: 17
1

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

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

Author24 — интернет-сервис помощи студентам
Дан массив 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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.06.2017, 14:43
Ответы с готовыми решениями:

В массиве заданной длины найти последнюю серию повторяющихся элементов
Надо написать программу на си. Не знаю как ибо только учусь В массиве заданной длины N найти...

В массиве заданной длины найти последнюю серию повторяющихся элементов
Надо написать программу на си. Не знаю как ибо только учусь В массиве заданной длины N найти...

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

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

1
838 / 641 / 940
Регистрация: 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
27.06.2017, 15:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.06.2017, 15:28
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru