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

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

Войти
Регистрация
Восстановить пароль
 
Snoopy
1912 / 1069 / 90
Регистрация: 06.12.2008
Сообщений: 2,802
#1

Нулевые элементы в начало - C++

10.01.2011, 22:36. Просмотров 367. Ответов 1
Метки нет (Все метки)

Задание, в одномерном массиве нулевые элементы перенести в начало!
Вот код, проблема в том что не учитывает элемент с нулевым индексом!
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
#include <iostream.h>
using namespace std;
int main()
{
    const int n=7;
    int i;
    int x[n]={8, 4, 0, 0, 3, 0, 1};
    /*cout << "n= ";
    cin >> n;
    for (i=0; i<n; i++)
        x[i]=rand()%5-2; 
    for (i=0; i<n; i++)
        {
              cout << "x[" << i << "]= ";
              cin >> x[i];
        }; */
    cout << "\n";
    for (i=0; i<n; i++)
        cout << x[i] << "  ";
    cout << "\n";
    int k=0, j=0;
    for (i=0; i<n; i++)
        if (x[i] == 0)
        {
              k++;
              int a=x[i];
              for (j=i; j>=k+1; j--)
                  x[j]=x[j-1];
              x[k]=a;
        };
    for (i=0; i<n; i++)
        cout << x[i] << "  ";
    cout << "\n";
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2011, 22:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нулевые элементы в начало (C++):

Перенести в начало массива нулевые элементы - C++
Составить программу для преобразования массива:переставить элементы массива так,чтобы сначала шли все нулевые элементы массива,затем все...

Переместить нулевые элементы в начало массива - C++
#include &lt;iostream&gt; #include&lt;time.h&gt; #include&lt;random&gt; using namespace std; int main() { int min, array,sum=0,f,s,q=0; ...

Перенести нулевые элементы в начало массива - C++
Доброго времени. Ниже дан фрагмент программы, который должен сортировать массив следующим образом: сначала располагаются все элементы,...

Переставить нулевые элементы строк в начало - C++
После заполнения значений программа перестает работать, посмотрите пожалуйста. Буду очень благодарен, спасибо за помощь) #include...

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

одномерный массив. Все его элементы, не равные нулю, переписать, сохраняя их порядок в начало массива, а нулевые элементы в конец массива in c++ - C++
одномерный массив. Все его элементы, не равные нулю, переписать, сохраняя их порядок в начало массива, а нулевые элементы в конец...

1
MILAN
886 / 780 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
10.01.2011, 22:52 #2
Цитата Сообщение от Snoopy Посмотреть сообщение
if (x[i] == 0)
{
k++;
int a=x[i];
for (j=i; j>=k+1; j--)
x[j]=x[j-1];
x[k]=a;
};
Попробуйте заменить
C++
1
2
3
4
5
6
7
8
if (x[i] == 0)
        {
              int a=x[i];
              for (j=i; j>=k+1; j--)
                  x[j]=x[j-1];
              x[k]=a;
              k++;
        };
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2011, 22:52
Привет! Вот еще темы с ответами:

Заменить первые два нулевые элементы заданного вектора В на два первых НЕ нулевые элементы этого вектора - C++
Дано вектор В, состоящий из N действительных чисел. Заменить первые два нулевые элементы заданного вектора В на два первых НЕ нулевые...

Заменить первых 2 нулевые элементы заданного вектора соответственно на первых 2 не нулевые элементы этого вектора - C++
Заданный вектор Т, который состоит из n действительных чисел. Заменить первых 2 нулевые элементы заданного вектора соответственно на первых...

Функция, перемещающая нулевые значения массива в начало - C++
write a function zerosfound that accepts one dimensional array as a pointer and it's size. The function creates a new array and so that all...

Все положительные элементы поместить в начало массива В(n), а отрицательные элементы — в начало массива С(n) - C++
Ребята. Помогите с задачей пожалуйста. Дан массив А(n). Все положительные его элементы поместить в начало массива В(n), а...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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