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

Упорядочивание массива c++. Объясните код программы - C++

Восстановить пароль Регистрация
 
anya_perova
0 / 0 / 0
Регистрация: 12.01.2014
Сообщений: 3
12.01.2014, 02:30     Упорядочивание массива c++. Объясните код программы #1
Дан целочисленный одномерный массив из n элементов (1<=n<=100). Задание: Не нарушая порядка следования, расположить в начале массива все положительные числа, а затем - отрицательные

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  <iostream.h>
#include <conio.h>
void main( )
{
int a[100];
int n;
int i,j;
int k;
cout<< "n? ";
cin>> n;
cout<<"a:"<<endl;
for (i=0; i<n; i++)
    cin>>a[i];
for (j=1; j<n;j++)
for (i=0; i<n; i++)
if (a[i]%2==1)
 {k=a[i];
a[i]=a[i+1];
a[i+1]=k;  }
for (i=0;i<=n-1; i++)
cout <<a[i]<<' ';
getch();
}
Добавлено через 14 минут
если что-то не так помогите пожалуйста исправить
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,409
12.01.2014, 02:48     Упорядочивание массива c++. Объясните код программы #2
Цитата Сообщение от anya_perova Посмотреть сообщение
если что-то не так помогите пожалуйста исправить
http://www.ozon.ru/context/detail/id/4369460/
Пожалуйста. Обучайтесь и понимайте

Добавлено через 2 минуты
P.S. код у вас занимается проверкой четности/нечетности, а не знаком чисел.

Добавлено через 34 секунды
И выход за "псевдограницу" массива.
some_name
Вежливость-главное оружие
 Аватар для some_name
219 / 219 / 55
Регистрация: 19.02.2013
Сообщений: 1,419
12.01.2014, 03:29     Упорядочивание массива c++. Объясните код программы #3
Тот код, что у вас - он вообще не по теме;
Вот, работающий код:
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
#include "stdafx.h"
#include <iostream>
 
#define MAX_SIZE 100
 
void main( )
{
    //объявляем указатель на массив
    int a[MAX_SIZE] = {0}, n, i, j, k = 0;
    //вводим длину массива
    std::cout<< "n : ";std::cin>> n;         
    //заполняем его случайными числами
    srand(time_t(NULL));
    for (i = 0; i < n; i++) 
    {
        std::cin>>a[i];
        //считаем кол-во отрицательных чисел
        if(a[i] < 0) k++;
    }
    std::cout<<std::endl;
    //номер, начия с которого будут стоять отрицательные числа
    k = n - k;
    ///сортируем    
    int a_sort[MAX_SIZE] = {0};
    for (i = 0, j = 0; i < n; i++)
    {
        if(a[i] >= 0) 
            //записываем в j-ю позицию положительное число и сдвигаем j на 1 вправо
            a_sort[j++] = a[i];
        else        
            //записываем в k-ю позицию отрицательное число и сдвигаем k на 1 вправо
            a_sort[k++] = a[i];     
    }
    //выводим отсортированный массив
    for (i = 0; i < n; i++)
        std::cout <<a_sort[i]<<' ';  
    //все, уонец
    getchar();
    getchar();
}
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,409
12.01.2014, 15:42     Упорядочивание массива c++. Объясните код программы #4
этот код будет работать только в VS.
По стандарту принято писать int main. От задания констант в дефайнах лучше избавляться. Делайте это с помощью ключевого слова const, приятнее будет читать сообщения об ошибках.

Добавлено через 2 минуты

Не по теме:

Я вас не осуждаю, но помогать столь ленивой ТС - делать ей же хуже. Она же даже пару страниц в книге не прочла, скинула кусок кода, который её одногруппник написал, не пытаясь вникнуть в суть. Вопрос - что она собирается делать дальше на этой специальности? Ведь это еще самые цветочки.

some_name
Вежливость-главное оружие
 Аватар для some_name
219 / 219 / 55
Регистрация: 19.02.2013
Сообщений: 1,419
12.01.2014, 16:23     Упорядочивание массива c++. Объясните код программы #5
Цитата Сообщение от MrGluck Посмотреть сообщение
Я вас не осуждаю, но помогать столь ленивой ТС - делать ей же хуже. Она же даже пару страниц в книге не прочла, скинула кусок кода, который её одногруппник написал, не пытаясь вникнуть в суть. Вопрос - что она собирается делать дальше на этой специальности? Ведь это еще самые цветочки.
Согласен, но это не всегда так.
Yandex
Объявления
12.01.2014, 16:23     Упорядочивание массива c++. Объясните код программы
Ответ Создать тему
Опции темы

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