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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Victoria_Orel
1 / 1 / 1
Регистрация: 26.02.2012
Сообщений: 74
#1

Массивы - C++

26.02.2012, 11:49. Просмотров 1127. Ответов 23
Метки нет (Все метки)

Во всех последовательностях положительных чисел изменить порядок элементов на противоположный

Размерность массива: 100
Диапазон значений -100 - 100

Надеюсь по помощь. Спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2012, 11:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массивы (C++):

Массивы. Циклические алгоритмы (Заполнить массивы случайными числами, лежащими в интервале 0 до 100) - C++
Доброго дня, уважаемые форумчане, помогите пожалуйста решить задание. Заполнить массивы случайными числами, лежащими в интервале 0 до...

Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц) - C++
Для каждого элемента , bij, i= 1,...,n , j=1,...,n определяется свой многоугольник местонахождением соответствующего элемента aij (см....

Попадание точки. Массивы чисел. Массивы записей. - C++
Всем привет. По языкам задали три контрольные на си. Я сам си не знаю, даже не представляю, поэтому очень нужна ваша помощь. ...

Многомерные массивы, как перебирать внутренние массивы - C++
Здравствуйте. Такой учебный код и плохо понимаю как перебираются внутренние массивы, может кто пояснит подоходчивее. Именно внутренний...

Массивы структур, массивы векторов - C++
Разработайте тип данных «Вектор в трехмерном пространстве» в виде структуры, поля которой — координаты вектора. Напишите следующие функции:...

Массивы структур и массивы строк - C++
1. Сформировать динамический массив из элементов структурного типа. Структурный тип определен в варианте. 2. Распечатать...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Черный ворон
130 / 124 / 6
Регистрация: 31.01.2012
Сообщений: 435
26.02.2012, 11:57 #2
можно конкретнее условие?
если последовательность скажем:
1 2 3 -5 -8 -9 4 5 6 -7 -2 2 3
должно получится
3 2 1 -5 -8 -9 6 5 4 -7 -2 3 2
я правильно понял?
0
Victoria_Orel
1 / 1 / 1
Регистрация: 26.02.2012
Сообщений: 74
26.02.2012, 12:00  [ТС] #3
Черный ворон, верно Вы поняли
0
AzaKendler
214 / 116 / 9
Регистрация: 30.05.2011
Сообщений: 1,772
26.02.2012, 12:13 #4
сортировать можно?
0
Victoria_Orel
1 / 1 / 1
Регистрация: 26.02.2012
Сообщений: 74
26.02.2012, 12:18  [ТС] #5
AzaKendler, да
0
AzaKendler
214 / 116 / 9
Регистрация: 30.05.2011
Сообщений: 1,772
26.02.2012, 12:19 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <algorithm>
#include <stdio.h>
 
int main()
{
     int mass3 [20];
     for(int i=0; i<20; ++i)
        {                
     (i%2)?mass3[i] = i:mass3[i] =-i; //заполняем тестовый массив + и - числами
         }
 
     for(int i=0; i<20; i++)
    {printf("%d ",mass3[i]);} //состояние до обработки
     printf("\n"); 
 
    std::nth_element(mass3,mass+10,mass3+20,[](int a,int b)->bool{return a<0&&a<b;});
        //помещаем все - числа до mass+10
    std::reverse(mass3+10,mass3+20);//обращаем порядок положительных чисел с mass+10
 
    for(int i=0; i<20; i++)
    {printf("%d ",mass3[i]);} //вывод после обработки
 
}
1
Victoria_Orel
1 / 1 / 1
Регистрация: 26.02.2012
Сообщений: 74
26.02.2012, 12:24  [ТС] #7
AzaKendler, спасибо
но вот тут ошибка получается

C++
1
std::nth_element(mass3,mass+10,mass3+20,[](int a,int b)->bool{return a<0&&a<b;});
Компилирую через Dev C++
0
AzaKendler
214 / 116 / 9
Регистрация: 30.05.2011
Сообщений: 1,772
26.02.2012, 12:25 #8
вижу ошибку. исправил mass вместо mass3 было

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <algorithm>
#include <stdio.h>
 
int main()
{
         int mass3 [20];
         for(int i=0; i<20; ++i)
        {                                
         (i%2)?mass3[i] = i:mass3[i] =-i; //заполняем тестовый массив + и - числами
         }
 
         for(int i=0; i<20; i++)
        {printf("%d ",mass3[i]);} //состояние до обработки
         printf("\n"); 
 
        std::nth_element(mass3,mass3+10,mass3+20,[](int a,int b)->bool{return a<0&&a<b;});
        //помещаем все - числа до mass+10
        std::reverse(mass3+10,mass3+20);//обращаем порядок положительных чисел с mass+10
 
        for(int i=0; i<20; i++)
        {printf("%d ",mass3[i]);} //вывод после обработки
 
}
1
Victoria_Orel
1 / 1 / 1
Регистрация: 26.02.2012
Сообщений: 74
26.02.2012, 12:29  [ТС] #9
AzaKendler, я просто в этом деле совсем новенькая..
0
AzaKendler
214 / 116 / 9
Регистрация: 30.05.2011
Сообщений: 1,772
26.02.2012, 12:30 #10
Victoria_Orel, исправил. была ошибка. опечатался в переменной
0
Victoria_Orel
1 / 1 / 1
Регистрация: 26.02.2012
Сообщений: 74
26.02.2012, 12:34  [ТС] #11
AzaKendler, ага проверку вижу
на сайте работает
а через тот компилятор нам дали не работает
0
Миниатюры
Массивы  
AzaKendler
214 / 116 / 9
Регистрация: 30.05.2011
Сообщений: 1,772
26.02.2012, 12:36 #12
Victoria_Orel, на твоем скрине и видна ошибка mass а должно быть mass3. проверь я поправил уже. скопируй последний текст
это от того что у меня в мэйне несколько массивов было, ну и решил тебе еще помочь с заданием и опечатался, бывает
1
Victoria_Orel
1 / 1 / 1
Регистрация: 26.02.2012
Сообщений: 74
26.02.2012, 12:37  [ТС] #13
AzaKendler,большое спасибо!) Всё работает!)
0
Avazart
Эксперт С++
7192 / 5366 / 280
Регистрация: 10.12.2010
Сообщений: 23,675
Записей в блоге: 17
26.02.2012, 12:56 #14
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
#include <vector>
#include <algorithm>
#include <iterator>
 
struct gener
 {
 int operator()(){return rand()%100-50;}
 }gen;
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
std::vector<int> m(100);
std::vector<int>::iterator it,first,last;
bool start=false;
 
std::generate(m.begin(),m.end(),gen);
 
for(unsigned i=0;i<m.size();i++) Memo1->Lines->Add(m[i]);  //Вывод до перетановки
 
first=m.begin();
for(it=m.begin();it!=m.end();++it)
 {
 if(*it>=0 && !start) { first=it;start = true;}
 if(*it<0  &&  start) { last=it;std::reverse(first,last);start=false;};
 }
 
for(unsigned i=0;i<m.size();i++) Memo2->Lines->Add(m[i]);//Вывод после перетановки
}
1
Victoria_Orel
1 / 1 / 1
Регистрация: 26.02.2012
Сообщений: 74
26.02.2012, 13:02  [ТС] #15
а что будет проще всего?
ну в смысле чтоб мне поверили что я сама сделала?)
а то у нас было всего пару лекций
0
Миниатюры
Массивы  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2012, 13:02
Привет! Вот еще темы с ответами:

Массивы структур и массивы строк - C++
Здравствуйте. Возникла проблема с одной работой: Постановка задачи: 1. Сформировать динамический массив из элементов структурного типа....

массивы указателей,указатели на массивы - C++
Понимаю что тема эта изжевана, но я ещё жую.Хочу, чтобы усвоилось. допустим есть QStringList a; a.append(&quot;мамa&quot;); ...

массивы указателей,указатели на массивы - C++
Понимаю что тема эта изжевана, но я ещё жую.Хочу, чтобы усвоилось. допустим есть QStringList a; a.append(&quot;мамa&quot;); ...

индексные массивы и адресные массивы - C++
погитите решить задачу c массивами двумя способами {индексные и адресные} { Вычислить суммы элементов каждой строки матрицы Х(20х20),...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.02.2012, 13:02
Ответ Создать тему
Опции темы

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