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

Интересная сортировка

05.10.2010, 23:30. Показов 821. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан вектор.Сжать существующий вектор,удалив все отрицательные элементы,не используя дополнительный вектор.

Огромная,просьба напишите,как можно проще,просто начинающий.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2010, 23:30
Ответы с готовыми решениями:

Интересная сортировка
Помогите пожалуйста с задачкой,если можно с комментариями Ввести матрицу и провести сортировку...

Интересная сортировка
Добрый день . Увидел задачу не могу решить :cry::-| какой час уже . Вообщем есть массив : Вот 3 2...

Интересная сортировка массива
Дан двухмерный массив, который заполнен случайными числами. Задача: 1. Сделать сортировку...

Интересная задачка
#include <iostream> #include <math.h> using namespace std; int main() { double z1,z2;...

15
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
05.10.2010, 23:34 2
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
#include <iostream>
#include <vector>
 
int main()
{
 
    std::vector<int> arr;
 
    arr.push_back(1);
    arr.push_back(-2);
    arr.push_back(3);
    arr.push_back(-4);
    arr.push_back(5);
    arr.push_back(-6);
    arr.push_back(7);
 
 
    for (int i = 0; i < arr.size(); ++i)
     if (arr[i] < 0) arr.erase(arr.begin()+i);
 
     for (int i = 0; i < arr.size(); ++i)
      std::cout << arr[i];
 
 
    return 0;
}
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.10.2010, 23:34 3
chk.dsk, Вроде типа такого
C++
1
2
std::vector<int> Vec;
Vec.erase(remove_if(Vec.begin(), Vec.end(), std::bind2nd(std::less<int>(), 0)), Vec.end());
0
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 36
05.10.2010, 23:36  [ТС] 4
Цитата Сообщение от PointsEqual Посмотреть сообщение
arr.push_back(1);
arr.push_back(-2);
arr.push_back(3);
arr.push_back(-4);
arr.push_back(5);
arr.push_back(-6);
arr.push_back(7)
обьясни пожалуйста действия
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
05.10.2010, 23:37 5
Цитата Сообщение от chk.dsk Посмотреть сообщение
обьясни пожалуйста действия
заполняем массив arr
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.10.2010, 23:40 6
PointsEqual, Таки глупо. Лучше уж переменную в цикле вводить и писать в вектор... Ну это чуть придирки
0
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 36
05.10.2010, 23:41  [ТС] 7
Цитата Сообщение от Lavroff Посмотреть сообщение
std::bind2nd(std::less<int>()
а можете это обьяснить тоже?

Добавлено через 58 секунд
Lavroff, а можна просто размерность "n" же использовать в цикле и при вводе?
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
05.10.2010, 23:41 8
chk.dsk, Легко. Функтор.
Можно.
Bind2nd
less
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
05.10.2010, 23:43 9
Цитата Сообщение от Lavroff Посмотреть сообщение
PointsEqual, Таки глупо. Лучше уж переменную в цикле вводить и писать в вектор... Ну это чуть придирки
заполнять он его может как хочет, просто пример
0
ForEveR
05.10.2010, 23:43
  #10

Не по теме:

PointsEqual, Ну да. Извиняюсь)

0
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 36
05.10.2010, 23:54  [ТС] 11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <vector>
 
int main()
{
   double a[10]
   int i
   cout<<"вв.размер";
   cin>>n
  for (cout<<"vv.elementi massiva";
   i=0;i<n;i++,cin>>a[i]); 
for (int i = 0; i < arr.size(); ++i)
     if (a[i] < 0) a[i]erase(a[i]begin(+i);
 
     for (int i = 0; i < a[i]; ++i)
      cout << arr[i];
 
 
    return 0;
}
так можно?
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
05.10.2010, 23:57 12
Цитата Сообщение от chk.dsk Посмотреть сообщение
так можно?
неа .
0
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 36
05.10.2010, 23:58  [ТС] 13
PointsEqual, а что не так?
0
ниначмуроФ
851 / 535 / 110
Регистрация: 12.10.2009
Сообщений: 1,913
06.10.2010, 00:02 14
нет ; в конце
Цитата Сообщение от chk.dsk Посмотреть сообщение
double a[10]
int i
Добавлено через 18 секунд
это не знаю что такое)
Цитата Сообщение от chk.dsk Посмотреть сообщение
for (cout<<"vv.elementi massiva";
Добавлено через 1 минуту
erase - метод применяемый для контейнера а не для отдельного элемента
Цитата Сообщение от chk.dsk Посмотреть сообщение
a[i]erase
0
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 36
06.10.2010, 00:05  [ТС] 15
Цитата Сообщение от chk.dsk Посмотреть сообщение
double a[10]
int i
тут надо

C++
1
2
double a[10]
 int i;
и в конце

C++
1
cout << a[i]
Добавлено через 1 минуту
Цитата Сообщение от PointsEqual Посмотреть сообщение
for (cout<<"vv.elementi massiva";
вводим "n"

Добавлено через 21 секунду
а как заменить erase?
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
06.10.2010, 00:08 16
Как минимум так. И то это хрень. Читайте мат. часть.

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 <iostream>
#include <vector>
 
int main()
{
   const int n=10;
   double a[n];
   int i;
   cout<<"вв.размер";
   cin>>n;
  for (i=0;i<n;i++)
  {
       std::cout<<"Enter el: ";
       std::cin>>a[i];
  }
  //for (int i = 0; i < n; ++i)
     // if (a[i] < 0) a.erase(a.begin()+i);
 
     for (int i = 0; i < n; ++i)
      cout << arr[i];
 
 
    return 0;
}
0
06.10.2010, 00:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.10.2010, 00:08
Помогаю со студенческими работами здесь

Интересная головоломка
1.С помощью текстового редактора создать файл который содержит текст.Длина ряда с текстом не должна...

Интересная конструкция
хотелось бы уточнить по поводу int(*a)(); это массив указателей на ф-ии (an array of pointers to...

Интересная штука
Интересная штука происходит. Создал я значит сетевое приложение, ну естественно подключена...

Интересная задача
https://informatics.mccme.ru/moodle/mod/statements/view.php?chapterid=113321#1 если честно идей...


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

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