Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
218 / 20 / 5
Регистрация: 05.08.2010
Сообщений: 229
1

Масивы

08.04.2011, 22:41. Показов 876. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте!
Если есть минутка свободного времени, помогите решить задачу: росположить елементы масива так, что бы сначали ишли елементы которые менше нуля, затем кторые больше нуля, но сохраняя порядок их записи.
К сожелению простая сортировка здесь не катит.Помогите с алгоритмом(с реализацией проблем нету )
Зарание всем спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.04.2011, 22:41
Ответы с готовыми решениями:

Масивы
В квадратном массиве заданы целые числа. Определить количество элементов главной диагонали. только...

2-D масивы.
Помогите! Написать программу в С++ которая будет проверять является ли 2-д масив маг.квадратом,у...

Масивы
Приветик помогите решить прошку пожалуста У прилавка магазина выстроилась очередь из n...

масивы
сортировки массива методом пузырька и методом прямого включения Програмы нужны в Microsoft visual...

12
14 / 14 / 1
Регистрация: 04.04.2011
Сообщений: 70
08.04.2011, 22:42 2
Сортировка не катит по условиям задачи?
0
218 / 20 / 5
Регистрация: 05.08.2010
Сообщений: 229
08.04.2011, 22:44  [ТС] 3
Цитата Сообщение от wolf.diesel Посмотреть сообщение
Сортировка не катит по условиям задачи?
Цитата Сообщение от rik_nel Посмотреть сообщение
но сохраняя порядок их записи.
Очевидно же.
0
14 / 14 / 1
Регистрация: 04.04.2011
Сообщений: 70
08.04.2011, 22:45 4
Что то я не догоняю. Как это: сортировать, сохраняя порядок? оО
Магией?
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
08.04.2011, 22:46 5
проходим по массиву и генерируем новый массив который хранит индексы отрицательных елементов, и потом сортируем проходя только по индексам с отрицательными, с положительными елементами так же
1
14 / 14 / 1
Регистрация: 04.04.2011
Сообщений: 70
08.04.2011, 22:47 6
Если уж генерировать новый массив, то сразу и писать по порядку
0
218 / 20 / 5
Регистрация: 05.08.2010
Сообщений: 229
08.04.2011, 22:50  [ТС] 7
Maxwe11, Как думаете, такая реализация, в принципе допустима/коректна
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <algorithm>
 
int main()
{
  int a[6] = {-1, -3, 3, 3, -2, -1}, k = 0;
 
  for(int i = 0; i < 6; ++i)
    if(a[i] < 0)
      std::swap(a[i], a[k++]);
 
  for(int i = 0; i < 6; ++i)
    std::cout << a[i] << ' ';
  return 0;
}
0
14 / 14 / 1
Регистрация: 04.04.2011
Сообщений: 70
08.04.2011, 22:52 8
Цитата Сообщение от rik_nel Посмотреть сообщение
Maxwe11, Как думаете, такая реализация, в принципе допустима/коректна
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <algorithm>
 
int main()
{
  int a[6] = {-1, -3, 3, 3, -2, -1}, k = 0;
 
  for(int i = 0; i < 6; ++i)
    if(a[i] < 0)
      std::swap(a[i], a[k++]);
 
  for(int i = 0; i < 6; ++i)
    std::cout << a[i] << ' ';
  return 0;
}
Как определить корректность:
1. Оно работает?
2. Оно работает правильно?
3. Оно не теряет память?
4. Оно не падает?
0
218 / 20 / 5
Регистрация: 05.08.2010
Сообщений: 229
08.04.2011, 22:53  [ТС] 9
Цитата Сообщение от wolf.diesel Посмотреть сообщение
Как определить корректность:
1. Оно работает?
2. Оно работает правильно?
3. Оно не теряет память?
4. Оно не падает?
Забей.
0
2862 / 2009 / 988
Регистрация: 21.12.2010
Сообщений: 3,715
Записей в блоге: 15
09.04.2011, 01:03 10
C++
1
2
3
4
5
6
7
8
9
10
#include<iostream>
#include<algorithm>
 
int main(){
    int a[] = {7,0,-1,0,-3,4,3,-2,-1,8,-4,0}, size=sizeof(a)/sizeof(*a);
    std::sort(a, a+size, [](int a, int b){return a<0&&b>=0||a==0&&b>0;});
    for(int i = 0; i < size; ++i)
        std::cout << a[i] << ' ';
    return 0;
}
2
218 / 20 / 5
Регистрация: 05.08.2010
Сообщений: 229
09.04.2011, 01:10  [ТС] 11
igorrr37, Большое спасибо.
Но немогли бы Вы показать как это будет выгладит без стандартной сортировки и лямбда, а то я не очень понимаю как это работает.
0
2862 / 2009 / 988
Регистрация: 21.12.2010
Сообщений: 3,715
Записей в блоге: 15
09.04.2011, 01:29 12
сортировка простыми вставками
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
 
int main(){
    int a[] = {7,0,-1,0,-3,4,3,-2,-1,8,-4,0}, size=sizeof(a)/sizeof(*a), tmp, i, j;
    for(i=0; i<size; ++i){
        tmp=a[i];
        for(j=i-1; j>=0&&(tmp<0&&a[j]>=0||tmp==0&&a[j]>0); --j){
            a[j+1]=a[j];
        }
        a[j+1]=tmp;
    }
    for(i = 0; i < size; ++i)
        std::cout << a[i] << ' ';
    return 0;
}
1
218 / 20 / 5
Регистрация: 05.08.2010
Сообщений: 229
09.04.2011, 01:35  [ТС] 13
Спасибо, выручили.
0
09.04.2011, 01:35
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.04.2011, 01:35
Помогаю со студенческими работами здесь

С++ Масивы
Помогите написать 3 программы по этим заданиям в С++! В одномерном массиве, который состоит из n...

Масивы
Помогите сделать задачу по С++. Создать массив. Вывести массив в общепринятом виде. Превратить...

Масивы С/С++
Подскажите пожалуйста, как в С создать массив А, при этом что бы выполнялась программа без ошибок....

C++ масивы
Начал решать задачу, вот условие: Дан целочисленный массив размера N. Удалить из массива все...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Какой язык программировани­я лучший для разработки нейронных сетей
InfoMaster 20.01.2025
В современном мире технологий искусственные нейронные сети становятся неотъемлемой частью множества инновационных решений, от распознавания речи до автоматического управления транспортными. . .
Как подключить JavaScript файл в другом JavaScript файле
InfoMaster 20.01.2025
В современной веб-разработке организация кодовой базы играет ключевую роль в создании масштабируемых и поддерживаемых приложений. Модульность и правильное структурирование кода стали неотъемлемыми. . .
Как откатить изменения в исходниках, не внесенные в Git
InfoMaster 20.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с необходимостью отменить внесенные изменения в исходном коде. Особенно актуальной становится ситуация, когда изменения еще. . .
В чем разница между px, in, mm, pt, dip, dp, sp
InfoMaster 20.01.2025
В мире цифрового дизайна и разработки интерфейсов правильный выбор единиц измерения играет ключевую роль в создании качественного пользовательского опыта. История развития систем измерений для. . .
Как изменить адрес удалённого репозитория (origin) в Git
InfoMaster 20.01.2025
В терминологии Git термин origin является стандартным именем для основного удаленного репозитория, с которым взаимодействует локальная копия проекта. Когда разработчик клонирует репозиторий с. . .
Как переместить последние коммиты в новую ветку (branch) в Git
InfoMaster 20.01.2025
При работе над проектом часто возникают ситуации, когда необходимо изолировать определенные изменения от основной линии разработки. Это может быть связано с экспериментальными функциями, исправлением. . .
Как вернуть результат из асинхронной функции в JavaScript
InfoMaster 20.01.2025
Асинхронное программирование представляет собой фундаментальную концепцию в JavaScript, которая позволяет выполнять длительные операции без блокировки основного потока выполнения программы. В. . .
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций История планшетов началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые прототипы,. . .
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
Как объединить два словаря одним выражением в Python
InfoMaster 19.01.2025
В мире программирования на Python работа со словарями является неотъемлемой частью разработки. Словари представляют собой мощный инструмент для хранения и обработки данных в формате "ключ-значение". . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru