Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 202

Определить максимальное количество подряд идущих положительных элементов массива, не прерываемых ни нулями, ни отрицательными элементами

16.06.2013, 17:17. Показов 5014. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
помогите с этой задачей))
Дан линейный вещественный массив a1,a2,..,an. Определить максимальное количество подряд идущих положительных элементов массива, не прерываемых ни нулями, ни отрицательными элементами, вывести на экран указанную последовательность элементов.
если что у меня есть такая программа на паскале.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.06.2013, 17:17
Ответы с готовыми решениями:

Определить максимальное количество подряд идущих положительных элементов последовательности, не прерываемых ни нулями, ни отрицательными элементами
Дана вещественная таблица а,...,а. Определить максимальное количество подряд идущих положительных элементов последовательности, не...

Для каждого массива определить максимальное количество подряд расположенных положительных элементов
Даны вещественные массивы A, B. Для каждого массива определить максимальное количество подряд расположенных положительных элементов.

Определить наибольшее количество положительных идущих подряд чисел массива
Дан одномерный массив А, состоящий из N целых чисел. Составить программу, которая подсчитывает, наибольшее число положительных идущих...

15
2 / 2 / 1
Регистрация: 16.06.2013
Сообщений: 11
16.06.2013, 17:49
надо уточнять задание, что значит вещественный массив? какие именно будут подаваться на вход данные? массив динамический, или его размер всегда будет одинаковым?
0
 Аватар для newyork7776
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
16.06.2013, 17:51
сделаю
0
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 202
16.06.2013, 17:58  [ТС]
вещественный как я понимаю в с++ это тип float. используем генератор случайных чисел типа int. c клавиатуры назначать размерность массива

Добавлено через 44 секунды
хорошо) жду)))
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
16.06.2013, 17:58
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
44
45
46
47
48
49
50
51
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 10
void Init(int *a, int *end)
{
   if (a < end)
   {
      *a = rand() % 10 - 5;
      Init(a + 1, end);
   }
}
void Print(int *a, int *end)
{
   int i, j;
   for(; a < end; ++a)
      printf("%4d", *a);
   putchar('\n');
}
 
int *Count1(int *a, int *end)
{
   return a < end && (*a) > 0 ? Count1(a + 1, end) : a;
}
 
int *Count2(int *a, int *end)
{
   return a < end && (*a) <= 0 ? Count2(a + 1, end) : a;
}
 
int main()
{
   int a[N], max = 0, *b, *c, *d = a;
   srand(time(NULL));
   Init(a, a + N);
   Print(a, a + N);
   b = a;
   while(b < a + N)
   {
       c = Count1(b, a + N);
       if (c - b > max)
       {
          max = c - b;
          d = b;
       }
       b = Count2(c, a + N);
   }
   printf("max = %d\n", max);
   Print(d, d + max);
   return 0;
}
1
 Аватар для newyork7776
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
16.06.2013, 18:11
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
#include <iostream>
#include <time.h>
#include <math.h>
using namespace std;
int main()
{
    int n,max=0,k=1;
    cout << "Enter nubmber [N] = ";cin >> n;
    int mas[100];
    srand(time(NULL));
    cout << "\nArray = ";
    for (int i=0;i<n;i++)
    {
        mas[i]=rand()%10-5;
        cout << mas[i] << " ";
    }
    for (int i=0;i<n;i++)
    {
        if ((mas[i]>0) && (mas[i+1]>0)) k++;
        if (k>max) max=k;
    }
    cout << "\nLine = " << max;
    cout << "\n";
    system("pause");
}
примерно вот так
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
16.06.2013, 18:15
Цитата Сообщение от newyork7776 Посмотреть сообщение
C++
1
        if ((mas[i]>0) && (mas[i+1]>0)) k++;
а если последний положительный, будет выход за границы массива
1
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 202
16.06.2013, 18:48  [ТС]
Цитата Сообщение от Thinker Посмотреть сообщение
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
44
45
46
47
48
49
50
51
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 10
void Init(int *a, int *end)
{
   if (a < end)
   {
      *a = rand() % 10 - 5;
      Init(a + 1, end);
   }
}
void Print(int *a, int *end)
{
   int i, j;
   for(; a < end; ++a)
      printf("%4d", *a);
   putchar('\n');
}
 
int *Count1(int *a, int *end)
{
   return a < end && (*a) > 0 ? Count1(a + 1, end) : a;
}
 
int *Count2(int *a, int *end)
{
   return a < end && (*a) <= 0 ? Count2(a + 1, end) : a;
}
 
int main()
{
   int a[N], max = 0, *b, *c, *d = a;
   srand(time(NULL));
   Init(a, a + N);
   Print(a, a + N);
   b = a;
   while(b < a + N)
   {
       c = Count1(b, a + N);
       if (c - b > max)
       {
          max = c - b;
          d = b;
       }
       b = Count2(c, a + N);
   }
   printf("max = %d\n", max);
   Print(d, d + max);
   return 0;
}
у меня не задерживается вывод, я написала в конце system ("Pause"); но все равно не показывает, сразу исчезает
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
16.06.2013, 18:49
getch() поставьте
0
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 202
16.06.2013, 18:50  [ТС]
в начале или в конце?
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
16.06.2013, 18:51
Цитата Сообщение от wsa Посмотреть сообщение
в начале или в конце?
в конец перед return 0;
0
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 202
16.06.2013, 18:54  [ТС]
не находит такой идентификатор((( может там библиотека отдельная нужна для этого? я не знаю
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
16.06.2013, 18:55
Цитата Сообщение от wsa Посмотреть сообщение
не находит такой идентификатор((( может там библиотека отдельная нужна для этого? я не знаю
<conio.h>
0
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 202
16.06.2013, 18:58  [ТС]
урааа!!!! работает))) спасибо большое))))
0
 Аватар для newyork7776
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
16.06.2013, 20:11
Цитата Сообщение от Thinker Посмотреть сообщение
Сообщение от newyork7776 Код C++1
2
3
if ((mas[i]>0) && (mas[i+1]>0)) k++;
* а если последний положительный, будет выход за границы массива
ну тогда нужно сделать n-1?
0
Эксперт С++
 Аватар для Thinker
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
16.06.2013, 20:19
Цитата Сообщение от newyork7776 Посмотреть сообщение
ну тогда нужно сделать n-1?
не совсем, так вы не учтете последовательность из положительных элементов в конце массива, например для массива
-1 1 2 3
неверный вывод будет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.06.2013, 20:19
Помогаю со студенческими работами здесь

Подсчитать максимальное количество положительных элементов массива заключенных между нулями
1.Дан одномерный массив À, состоящий из N элементов. Подсчитайте максимальное кол-во положительных элементов заключенных между нулями.

Определить максимальное количество одинаковых символов, идущих подряд
Ввести строку с клавиатуры. Определить максимальное количество одинаковых символов, идущих подряд. срочно нужно до 6 числа.помогите

Определить максимальное количество идущих подряд чётных чисел
Как определить максимальное количество идущих подряд чётных чисел для такого, к примеру, ряда чисел: 1 2 2 23 4 2 14 9 ...

Найти максимальное количество подряд идущих минимальных элементов
Найти максимальное количество подряд идущих минимальных элементов. ОДНОПРОХОДНОЙ алгоритм

Найти максимальное количество подряд идущих чётных элементов
Мне дана задача : опишите на одном из языков программирования алгоритм подсчета максимального количества подряд идущих четных элементов в...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru