Форум программистов, компьютерный форум CyberForum.ru

Вывести начальные индексы всех непрерывных последовательностей - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
nevagn
1 / 0 / 0
Регистрация: 08.06.2011
Сообщений: 3
10.06.2011, 07:44     Вывести начальные индексы всех непрерывных последовательностей #1
(С)Вывести начальные индексы всех непрерывных последовательностей чисел с неувеличивающимися значениями
диапазон значений -50 - 50

Добавлено через 22 часа 2 минуты
помогите пожалуйста а то сам не справлюсь

Добавлено через 12 часов 23 минуты
неужели никто не поможет
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2011, 07:44     Вывести начальные индексы всех непрерывных последовательностей
Посмотрите здесь:

C++ Вывести начальные индексы всех непрерывных последовательностей неотрицательных чисел
C++ Начальные индексы непрерывных последовательностей (срочно нада)
C++ Вывести начальные индексы всех елементов массива, значение которых превышает заданое значение А.
C++ Найти и вывести индексы всех седловых точек матрицы
C++ Вывести начальные индексы всех непрерывных неубывающих подпоследовательностей цифр
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
10.06.2011, 11:13     Вывести начальные индексы всех непрерывных последовательностей #2
C
1
2
3
4
5
6
for(i=0; i<N-1; i++)
  if (i==0) {
    if (a[i+1] >= a[i]) printf("%d\n", i);
  }
  else if (a[i] < a[i-1] && a[i] <= a[i+1]) printf("%d\n", i);
}
Добавлено через 5 минут
Можно поизящнее
C
1
2
for(i=0; i<N-1; i++)
  if (i==0 || a[i-1] > a[i]) && a[i] <= a[i+1]) printf("%d\n", i);
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
10.06.2011, 20:42     Вывести начальные индексы всех непрерывных последовательностей #3
В решении поизящнее закрывающих скобок больше, чем открывающих
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
11.06.2011, 15:13     Вывести начальные индексы всех непрерывных последовательностей #4
Цитата Сообщение от grizlik78 Посмотреть сообщение
В решении поизящнее закрывающих скобок больше, чем открывающих
Простите великодушно! Конечно, перед "i==0" нужна открывающая скобка!
Это делает честь вашему глазу.
SBBK
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 5
12.03.2012, 20:11     Вывести начальные индексы всех непрерывных последовательностей #5
Пожалуйста, посмотрите кто то почему ругается компил. на randomize и random ...задание такое же очень срочно нужно


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
#include <conio.h>
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define N 200
int A [N];
int main(){
//    int A [N];
    int i; 
    randomize ();
    for (i=0; i<N; A[i++]=random(101)-50 );
     printf("nachal'nui massiv:\n");
    for (i=0; i<100; printf("%3d  ",A[i++]));
    putchar('\n');
    putchar('\n');
     
    for(i=0; i<N-1; i++)
  if (i==0) {
    if (A[i+1] >= A[i]) printf("%d\n", i);
  }
  else if (A[i] < A[i-1] && A[i] <= A[i+1]) printf("%d\n", i);
  getch();
  return 0;
}
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
12.03.2012, 21:18     Вывести начальные индексы всех непрерывных последовательностей #6
randomize() можно заменить на srand(time(NULL)), а random(101) на (rand() % 101)
SBBK
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 5
12.03.2012, 22:03     Вывести начальные индексы всех непрерывных последовательностей #7
Спасибо, уже не ругается...
запустилась программа, но массив у меня заполняется как сплошные нули, а на сколько я понимаю, это не случайные числа. Подскажите что не правильно в коде, что бы можно было исправить, и все работало
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
12.03.2012, 23:18     Вывести начальные индексы всех непрерывных последовательностей #8
Не знаю. У меня заполняется случайными.
Вот код, на всякий случай, хотя это тот же самый код, практически без изменений.
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
#include <conio.h>
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define N 200
 
int A [N];
 
int main()
{
    int i; 
    srand(time(NULL));
 
    for (i = 0; i < N; ++i)
        A[i] = rand() % 101 - 50;
 
    printf("nachal'nui massiv:\n");
    for (i = 0; i < 100; ++i)
        printf("%3d  ", A[i]);
    putchar('\n');
    putchar('\n');
 
    for (i = 0; i < N-1; i++)
        if (i==0)
        {
            if (A[i+1] >= A[i])
                printf("%d\n", i);
        }
        else
            if (A[i] < A[i-1] && A[i] <= A[i+1]) 
                printf("%d\n", i);
    getch();
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2012, 00:54     Вывести начальные индексы всех непрерывных последовательностей
Еще ссылки по теме:

C++ Вывести начальные индексы всех непрерывных знакочередующихся последовательностей чисел
В одномерном массиве вывести начальные индексы всех непрерывных знакопеременных последовательностей чисел C++
C++ Вывести начальные и конечные индексы индексы всех непрерывных знакопеременных последовательностей чисел

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

Или воспользуйтесь поиском по форуму:
SBBK
0 / 0 / 0
Регистрация: 12.03.2012
Сообщений: 5
13.03.2012, 00:54     Вывести начальные индексы всех непрерывных последовательностей #9
спасибо, теперь у меня тоже случайными числами заполняется массив...
Yandex
Объявления
13.03.2012, 00:54     Вывести начальные индексы всех непрерывных последовательностей
Ответ Создать тему
Опции темы

Текущее время: 03:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru