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

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

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

Массив - C++

20.01.2010, 20:25. Просмотров 301. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массив (C++):

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать - C++
Добрый Вечер! Написал первую часть программы по этому заданию&quot;Ввести массив А. В массив В перенести все элементы массива А, стоящие правее...

Массив: Как скопировать двумерный массив в другой массив? - C++
Как скопировать двумерный массив в другой массив?

Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив... - C++
помогите!!!((( дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько...

Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив. - C++
Есть текстовый файл, в нем 3 столбца чисел (число строк заранее неизвестно). Напишите пожалуйста код, чтобы первый столбец записывался в...

Есть массив одинаковых элементов, сделать функцию делающую массив различных - C++
Дан одномерный массив, среди элементов которого есть совпадающие. Разработать функцию, создающую массив из различных элементов.

Массив: Переместить в массив Y все числа, дробная часть которых больше 5. - C++
Помогите решить, вообще не понимаю как в С++ с дробной частью работать. Задан массив X(N) дробных чисел. Переместить в массив Y все...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
M128K145
Эксперт С++
8286 / 3505 / 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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2010, 01:58
Привет! Вот еще темы с ответами:

Заполнить массив первыми ста простыми числами, и вывести массив на экран - C++
Объявите одномерный целочисленный массив в котором не более 100 элементов выполните генерацию массива первыми 100 простыми числами....

Массив: найти номера столбцов с положительными элементами и записать их в одномерный массив - C++
ввести двумерный массив I . найти номера столбцов с положительными элементами и записать их в одномерный массив, отобразить его на экране. ...

Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q. - C++
Дан массив K(N).Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q.

Массив: преобразорвать двумерный массив в одномерный и отсортировать его методом пузырька - C++
всем привет. народ помогите с прогой, конкретно с функцией sort (65 строка), она должна двухмерный массив перевести построчно в одномерный...


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

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

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