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

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

Войти
Регистрация
Восстановить пароль
 
Garret192
1 / 1 / 0
Регистрация: 21.10.2009
Сообщений: 84
#1

Массив - C++

20.01.2010, 20:25. Просмотров 299. Ответов 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
27
28
#include<iostream.h>
#include<stdlib.h>
const int n=100;
int main()
{
 int a[n],n,i,temp;
 cout<<"Vvedi n ";
 cin>>n;
 cout<<"Vvedi elements of massive ";
 for(i=0;i<n;i++)
 cin>>a[i];
 for(i=0;i<n;i++)
  for(i=0;i<n;i++)
   {
    if(a[i]==0)
     for(i;i<n-1;i++)
      {
       temp=a[i];
       a[i]=a[i+1];
       a[i+1]=temp;
      }
 
   }
 for(i=0;i<n;i++)
  cout<<a[i]<<" ";
 system ("pause");
 return 0;
}
При одном нуле он работает,а при двух нет, переставляя один,а другой оставляет на месте.
Помогите...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2010, 20:25     Массив
Посмотрите здесь:

Построить массив d из элементов, которые входят как в массив a так и в массив b - C (СИ)
Дан массив a и b состоящий из n элементов. Построить массив d из элементов, которые входят как в массив a так и в массив b. Желательно с...

Разделить массив на массив четных положительных и массив остальных - Pascal ABC
дана последовательность из 20 эл. надо её отсортировать на 2 массива. условия видны в задании Program z_6; Uses Crt; Var ...

Из заданного текста выбрать цифры и записать в массив N, а буквы- в массив B. Все остальные символы записать в массив S - Turbo Pascal
подскажите как делать Из заданного текста выбрать цифры и записать в массив N, а буквы- в массив B. Все остальные символы записать в...

из заданного теста выбрать цифры и записать в массив N ,а буквы - в массив B .Все остальные символы записать в массив S - Pascal
Привет всем.Помогиет пожалуйста решить задачку из заданного теста выбрать цифры и записать в массив N ,а буквы - в массив B .Все...

Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный массив Y - QBasic
Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный массив Y. ...

Дан массив целых чисел а(12). Переписать в массив х четные, а в массив у нечетные элементы массива а - Turbo Pascal
Помогите пожалуйста решить эту задачу. Массив a выводит на печать. Я пишу a mod 2 = 0 , а он мне 41 ошибку выдает. Что делать? Вот...

Сформировать массив, который будет состоять из чисел, входящих как в массив A, так и в массив B - C (СИ)
Задание: На основе исходных массивов A и B (n и m – рабочие размеры массивов) сформировать массив C, который будет состоять из чисел,...

Дан одномерный массив A из N элементов. Переписать положительные элементы массива в массив B, а отрицательные в массив C - Pascal
Дан одномерный массив A из N элементов. Переписать положительные элементы массива в массив B, а отрицательные в массив C.

Массив: Отсортировать полученный массив 3 способами: по строкам, по столбцам( возр.), 3) и весь массив - Delphi
Помогите, пожалуйста ,решить задачу. Очень нужно. Задан массив (4*6). Элементы задаются по правилу: если j&gt;3, то Aij=i+j, иначе...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
21.01.2010, 01:20     Массив #2
C++
1
2
3
4
5
for(i=0;i<n;i++)
  for(i=0;i<n;i++)
   {
    if(a[i]==0)
     for(i;i<n-1;i++)
Даже если это был бы ассемблер, то все равно не хватало бы строчек со смыслом
Assembler
1
2
push i
pop i
Как ты умудряешься в трех(!!!) вложенных циклах использовать только один индекс? Исправь и сделай 3 индекса
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
21.01.2010, 01:58     Массив #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <functional>
#include <algorithm>
 
int main()
{
    int arr[] = {1,2,3,0,5,0,6,-5,-7};
 
    const size_t N = sizeof(arr) / sizeof(*arr);
    const int elem = 0;
 
    int *ptr = std::partition(arr, arr+N, std::bind2nd(std::not_equal_to <int> (), elem));
 
    std::copy(arr, ptr, std::ostream_iterator <int> (std::cout," "));
    std::copy(ptr, arr+N, std::ostream_iterator <int> (std::cout," "));
 
    return 0;
}
Yandex
Объявления
21.01.2010, 01:58     Массив
Ответ Создать тему
Опции темы

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