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

Одномерные массивы. Поиск последовательностей - C++

Восстановить пароль Регистрация
 
Джек Ричер
0 / 0 / 0
Регистрация: 29.12.2012
Сообщений: 9
29.12.2012, 20:40     Одномерные массивы. Поиск последовательностей #1
Помогите с задачей !!! в с++
Объявить массив целых чисел и заполнить его случайными значениями.
Рзмерность массива – 100, диапазон значений [-50,50]. Во всех последовательностях
положительных чисел изменить порядок элементов на противоположный.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2012, 20:40     Одномерные массивы. Поиск последовательностей
Посмотрите здесь:

Одномерные массивы C++
C++ Одномерные массивы.
одномерные массивы и сложный поиск C++
C++ Одномерные массивы:
C++ Одномерные массивы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Izaron
7 / 6 / 1
Регистрация: 29.12.2012
Сообщений: 41
29.12.2012, 20:54     Одномерные массивы. Поиск последовательностей #2
Cоздаешь(new) массив x идентичный массиву y.
C++
1
2
for(int i = 0; i < 100; ++i)
    if (y[i]>0) y[i] = x[size - 100 - 1];
После удаляешь массив x (delete)
Хотя можно не удалять, если программа того не требует, в том случае создаешь массив нормальный, не с помощью new.
Джек Ричер
0 / 0 / 0
Регистрация: 29.12.2012
Сообщений: 9
29.12.2012, 21:13  [ТС]     Одномерные массивы. Поиск последовательностей #3
Как найти положительную последовательность ?

Добавлено через 3 минуты
Программу нужно дописать, чтобы она Во всех последовательностях положительных чисел изменить порядок элементов на противоположный.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <conio.h>
#include <clocale>
#include <ctime>
 
using namespace std;
const int N=100; // количество элементов массива
int main ()
{
    setlocale(LC_ALL,"RUSSIAN");
    int a [N]; // описание массива
    cout << "Заполнение массива случайными числами из диапазона [-50;50] \n";
    srand( (unsigned) time(NULL));//инициализация генератора случайный чисел 
        for (int i=0; i<N; i++)
            a[i]=rand()/(1.0*RAND_MAX)*(50+50)-50;// заполнение массива случайным образом
    cout << "Получин целочисленный массив со следующими элементами: \n";
    for (int i=0; i<N; i++)
        cout <<"a["<<i<<"]=" << a[i] << "\n";
    system("PAUSE");
    return 0;
}
Avazart
 Аватар для Avazart
6899 / 5139 / 252
Регистрация: 10.12.2010
Сообщений: 22,579
Записей в блоге: 17
29.12.2012, 21:31     Одномерные массивы. Поиск последовательностей #4
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
52
53
54
#include <iostream>
using namespace std;
//-----------поиск первого не положительного-------------------------------
int* find_first_not_pos(int* first,int* last)
{
  for(; first!=last; ++first) if(*first<=0) return first;
  return last;
}
//-----------поиск первого положительного------------------------------
int* find_first_pos(int* first,int* last)
{
  for(; first!=last; ++first) if(*first>0) return first;
  return last;
}
//-------------- изменение порядка--------------------------
void reverse_el(int* first,int* last)
{
  for(; first!=last; ++first)
   {
     if(first== --last) break;
 
     int temp= *last;
     *last = *first;
     *first= temp;
   }
}
//-------------- сама ф-ция-----------------------------
void some(int* first,int* last)
{
   for(; first!=last; ++first)
   {
     int* b = find_first_pos(first,last);
     int* e = find_first_not_pos(b,last);
     reverse_el(b,e);
     first= e;
   }
}
//-----------------------------------------------
int main()
{
const int size=16;
int A[size]={-10,0,5,6,7,8,9,-1,-2,1,2,3,-7,13,14,-50};
 
for(int* p=A;p!=A+size;++p) cout<< *p <<" ";
cout<<endl;
 
some(A,A+size);
 
for(int* p=A;p!=A+size;++p) cout<< *p <<" ";
cout<<endl;
 
 return 0;
}
//------------------------------------------------
-10 0 5 6 7 8 9 -1 -2 1 2 3 -7 13 14 -50
-10 0 9 8 7 6 5 -1 -2 3 2 1 -7 14 13 -50
Джек Ричер
0 / 0 / 0
Регистрация: 29.12.2012
Сообщений: 9
29.12.2012, 22:11  [ТС]     Одномерные массивы. Поиск последовательностей #5
А как изменить, чтобы массив заполнялся с помощью генератора случайных чисел, в диапазоне от -50 до 50 ?!
Avazart
 Аватар для Avazart
6899 / 5139 / 252
Регистрация: 10.12.2010
Сообщений: 22,579
Записей в блоге: 17
29.12.2012, 22:13     Одномерные массивы. Поиск последовательностей #6
http://www.cplusplus.com/reference/cstdlib/rand/
Yandex
Объявления
29.12.2012, 22:13     Одномерные массивы. Поиск последовательностей
Ответ Создать тему
Опции темы

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