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

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

Войти
Регистрация
Восстановить пароль
 
 
Кротяка
5 / 5 / 0
Регистрация: 20.12.2010
Сообщений: 378
#1

Проверить два идущих подряд нуля в массиве - C++

14.12.2013, 22:26. Просмотров 795. Ответов 23
Метки нет (Все метки)

Как правильно проверить два идущих подряд нуля в массиве? Чтобы при выполнении условия один массив заполнялся данными из другого? Мои попытки к успеху не приводят
C++
1
2
if (mas[i,j] != 0 && mas[i,j+1] != 0 && mas[i,j+1] != mas[i,j])
    arr[i, j] = mas[i, j];
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2013, 22:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверить два идущих подряд нуля в массиве (C++):

Имеется ли в целочисленном массиве два идущих подряд нуля? - C++
Имеется ли в целочисленном массиве два идущих подряд нуля? Ответ вывести в виде "ДА" или "НЕТ" Спасибо заранее, очень...

Найти в последовательности чисел два подряд идущих нуля - C++
Дана последовательность из n чисел найти в ней кол-во 2 подряд идущих 0 Нужно сделать блок схему

Дана последовательность целых чисел. Известно, что среди них несколько раз встречаются два подряд идущих нуля. - C++
1. Дана последовательность целых чисел. Известно, что среди них несколько раз встречаются два подряд идущих нуля. Определить, сколько раз...

Выяснить, имеются ли в данном массиве два идущих подряд положительных элемента - C++
Дан массив действительных чисел а1,…, аn. Выяснить, имеются ли в данном массиве два идущих подряд положительных элемента. Подсчитать...

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

Определить, сколько раз в массиве встретилось два подряд идущих нулевых элемента - C++
Пример: Сформировать массив целых чисел X(N), элементами которого являются случайные числа в диапазоне . Найти максимальный элемент и его...

23
ZeR_0
117 / 109 / 37
Регистрация: 30.01.2013
Сообщений: 297
14.12.2013, 22:29 #2
C++
1
2
3
4
5
6
for(int i = 0; i < n; i++){
    for(int j = 0; j < m-1; j++){
        if(array_a[i][j] != 0 && array_a[i][j+1] != 0 && array_a[i][j] != array_a[i][j+1])
            array_b[t][k] == array_a[i][j];
    }
}
1
Кротяка
5 / 5 / 0
Регистрация: 20.12.2010
Сообщений: 378
14.12.2013, 22:39  [ТС] #3
ZeR_0, неправильно

Добавлено через 28 секунд
я и сам так пытался сделать
0
ZeR_0
117 / 109 / 37
Регистрация: 30.01.2013
Сообщений: 297
14.12.2013, 23:14 #4
Цитата Сообщение от Кротяка Посмотреть сообщение
ZeR_0, неправильно

Добавлено через 28 секунд
я и сам так пытался сделать
А задачу то можно увидеть целиком?
1
ValeryS
Модератор
6794 / 5202 / 499
Регистрация: 14.02.2011
Сообщений: 17,453
14.12.2013, 23:20 #5
C++
1
2
3
for(int i=0;i<n-1;i++)
   if(arr[i]==0 && arr[i+1]==0)
       //делаем что надо
0
ZeR_0
117 / 109 / 37
Регистрация: 30.01.2013
Сообщений: 297
14.12.2013, 23:22 #6
Цитата Сообщение от ValeryS Посмотреть сообщение
C++
1
2
3
for(int i=0;i<n-1;i++)
   if(arr[i]==0 && arr[i+1]==0)
       //делаем что надо
я выше аналогичное писал. автор сказал что не подходит. нужно увидеть задание целиком
1
Кротяка
5 / 5 / 0
Регистрация: 20.12.2010
Сообщений: 378
14.12.2013, 23:27  [ТС] #7
ZeR_0, Дана последовательность A1, ..., А50. Определить, есть ли в последовательности и, если есть, исключить два идущих подряд нулевых элемента.
Т.е., нужно найти есть ли в массиве два идущих подряд нулевых элемента, и, если есть, записать исходный массив в новый массив, но без этих самых нулевых элементов

Добавлено через 25 секунд
массив кстати двумерный)
0
ZeR_0
117 / 109 / 37
Регистрация: 30.01.2013
Сообщений: 297
14.12.2013, 23:28 #8
Цитата Сообщение от Кротяка Посмотреть сообщение
ZeR_0, Дана последовательность A1, ..., А50. Определить, есть ли в последовательности и, если есть, исключить два идущих подряд нулевых элемента.
Т.е., нужно найти есть ли в массиве два идущих подряд нулевых элемента, и, если есть, записать исходный массив в новый массив, но без этих самых нулевых элементов

Добавлено через 25 секунд
массив кстати двумерный)
если матрица такая

1 2 0 0 1 2
1 2 1 1 1 2

Я думаю вы понимаете к чему я клоню

Результат тогда
1 2 1 2
1 2 1 1 1 2
1
Кротяка
5 / 5 / 0
Регистрация: 20.12.2010
Сообщений: 378
14.12.2013, 23:31  [ТС] #9
ZeR_0, нужно сдвигать элементы массива

Добавлено через 30 секунд
чтобы не было пустых элементов
0
ValeryS
Модератор
6794 / 5202 / 499
Регистрация: 14.02.2011
Сообщений: 17,453
14.12.2013, 23:37 #10
Цитата Сообщение от ZeR_0 Посмотреть сообщение
я выше аналогичное писал. автор сказал что не подходит.
аналогичное но не то
Цитата Сообщение от ZeR_0 Посмотреть сообщение
array_a[i][j] != 0 && array_a[i][j+1] != 0 && array_a[i][j] != array_a[i][j+1]
здесь два не 0 и числа не равны

при копировании второй 0 выбрасывается
но еслти их будет 3 или 4 или все 0 то так не пойдет
C++
1
2
3
4
5
6
7
8
9
10
11
12
for( int i=0;i<n;i++)
 {
 if( i==n-1)
   arr2[i]=arr1[i];
 else
  {
     arr2[i]=arr1[i];
  if(arr1[i]==0 && arr1[i+1]==0)
       i++;
 
   }
 }
0
ZeR_0
117 / 109 / 37
Регистрация: 30.01.2013
Сообщений: 297
14.12.2013, 23:38 #11
Цитата Сообщение от Кротяка Посмотреть сообщение
ZeR_0, нужно сдвигать элементы массива

Добавлено через 30 секунд
чтобы не было пустых элементов
1 2 0 0 1 2
1 2 1 1 1 2

1 2 1 2 1
1 2 1 1 1

Вы это имели ввиду?
1
ValeryS
Модератор
6794 / 5202 / 499
Регистрация: 14.02.2011
Сообщений: 17,453
14.12.2013, 23:38 #12
при копировании оба нуля выбрасываются
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
for( int i=0;i<n;i++)
 {
 if( i==n-1)
   arr2[i]=arr1[i];
 else
  {
  
  if(arr1[i]==0 && arr1[i+1]==0)
       i++;
   else
         arr2[i]=arr1[i];
   }
 }
0
Кротяка
5 / 5 / 0
Регистрация: 20.12.2010
Сообщений: 378
14.12.2013, 23:39  [ТС] #13
ZeR_0, именно
0
ZeR_0
117 / 109 / 37
Регистрация: 30.01.2013
Сообщений: 297
14.12.2013, 23:42 #14
Цитата Сообщение от Кротяка Посмотреть сообщение
ZeR_0, именно
Тогда я подобрал слишком идеальный пример

1 2 0 0 1 2
1 2 1 1 1 2
1 2 1 1 1 2

1 2 1 2
1 2 1 1 1 2
1 2 1 1 1 2

1 2 1 2 1
2 1 1 1 2
1 2 1 1 1 2

Что вы скажете на это?
1
Кротяка
5 / 5 / 0
Регистрация: 20.12.2010
Сообщений: 378
14.12.2013, 23:44  [ТС] #15
ZeR_0, если пустые поля и будут оставаться, то они должны быть в конце матрицы, в последней строке, начиная с последнего символа и по убывающей
0
14.12.2013, 23:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2013, 23:44
Привет! Вот еще темы с ответами:

Определить два идущих подряд нулевых элемента - C++
Помогите пожалуйста выяснить,имеется ли в массиве C (динамический) два идущих подряд нулевых элемента. Решить задачу ,используя указатели.

Проверить наличие в последовательности пяти подряд идущих заданных символов - C++
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &quot;math.h&quot; #include &quot;iostream&quot; #include &quot;string&quot; #include &quot;time.h&quot; using...

Определить, сколько раз в последовательности встрачается два нуля подряд - C++
Дана последовательность целых чисел. Известно, что среди них несколько раз встречаются два подряд идущих нуля. Определить, сколько раз...

определить есть ли в массиве последовательность из подряд идущих элементов - C++
Привет всем.Помогите пожалуйста решить задачу. Заранее спасибо. Дан массив из n элементов орпеделить есть ли в массиве...


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

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

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