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

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

Восстановить пароль Регистрация
 
123_1
0 / 0 / 0
Регистрация: 05.01.2014
Сообщений: 6
09.01.2014, 23:12     Заменить все группы подряд встречающихся нулей на один нуль #1
Парни нужна помощь.Решение на языке с++.Заранее спасибо!!!
Дан массив В[n], содержащий большое количество нулевых элементов.
Заменить все группы подряд встречающихся нулей на один нуль.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2014, 23:12     Заменить все группы подряд встречающихся нулей на один нуль
Посмотрите здесь:

C++ Дан текстовый файл. Заменить в нем все подряд идущие пробелы на один пробел.
C++ Удалить из каждой группы подряд идущих цифр все начальные незначащие нули
C++ Заменить в строке все группы подряд идущих точек на многоточие
C++ Перечислить все последовательности из n нулей, единиц и двоек, в которых никакая группа цифр не повторяется два раза подряд (нет куска вида XX )
C++ Перечислить все последовательности из n нулей, единиц и двоек, в которых никакая группа цифр не повторяется два раза подряд (нет куска вида XX )
C++ Замените в тексте входного файла все группы подряд идущих пробелов на один пробел
C++ Задана матрица А(4,4). Заменить первый нуль в каждом столбце на количество нулей в этом столбце
C++ В целочисленном массиве вывести все группы идущих подряд одинаковых элементов

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
10.01.2014, 01:00     Заменить все группы подряд встречающихся нулей на один нуль #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 <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);
}
Yandex
Объявления
10.01.2014, 01:00     Заменить все группы подряд встречающихся нулей на один нуль
Ответ Создать тему
Опции темы

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