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

Заменить все группы подряд встречающихся нулей на один нуль - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Почему-то всегда выдаёт неверный ввод http://www.cyberforum.ru/cpp-beginners/thread1067082.html
#include <iostream> #include <iomanip> #include <string.h> using namespace std; int main() { int cancel_program; do { char mas;
C++ Найти площадь пятиугольника, изображенного на рисунке Даны вещественные числа a,b,c,d,e. Найти площадь пятиугольника, изображенного на рисунке. Определить функцию для расчета площади по 3-ем его сторонам. http://www.cyberforum.ru/cpp-beginners/thread1067079.html
C++ Генерация простого числа, заданной длины
Помогите срочно нужно, можно на C#
C++ Преобразовать массив таким образом, чтобы сначала располагались все по- ложительные элементы, а потом все остальные
#include <iostream> #include <stdlib.h> #include <time.h> #include <cmath> using namespace std; void float1(double *mass, int const n); void float2(double *mass, int const n);
C++ Добавить элементы из текстового файла в связный список http://www.cyberforum.ru/cpp-beginners/thread1067057.html
Нужно создать программу, считывающую целые числа из файла. 1. определить переменную, определяющую число столбцов двумерного массива 2. считать целые числа до конца файла и поместить и в связный список 3. создать двумерный массив с помощью new 4. заполнить массив ряд за рядом, отсутствующие элементы последнего заменив нулями 5. удалить элементы связного списка из памяти 6. возвести в куб...
C++ Произведение отрицательных элементов массива, расположенных между минимальным и максимальным элементами #include <iostream> #include <stdlib.h> #include <time.h> #include <cmath> using namespace std; void tselyi1(int *mas, int const n); void tselyi2(int *mas, int const n); подробнее

Показать сообщение отдельно
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
10.01.2014, 01:00     Заменить все группы подряд встречающихся нулей на один нуль
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 <cstddef>
#include <iostream>
 
size_t unique(int* a, size_t n) {
  size_t j = 0;  
  for(size_t i = 1; i < n; ++i) {
    if((a[j] != 0) || (a[i] != 0)) {
      ++j;
      a[j] = a[i];
    }    
  }  
  return j + 1;
}
 
void write_arr(const int* a, size_t n) {
  for(size_t i = 0; i < n; ++i)
    std::cout << ' ' << a[i];
  std::cout << '\n';
}
 
int main() {    
  int a[] = {1,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0};
  size_t n = sizeof(a) / sizeof(*a);
  
  write_arr(a, n);
  n = unique(a, n);
  write_arr(a, n);
}
 
Текущее время: 08:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru