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

Определить позицию первого и последнего нуля в одномерном массиве - C++

Восстановить пароль Регистрация
 
MikhailDmitren
Сообщений: n/a
16.05.2013, 20:37     Определить позицию первого и последнего нуля в одномерном массиве #1
Определить позицию первого и последнего нуля в одномерном массиве, использую цикл For. Например массив состоит из 10307, программа в ответе должна выдать, что первый ноль стоит на второй позиции, а последний ноль стоит на четвертой позиции.
Помогите плиз решить данную задачу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2013, 20:37     Определить позицию первого и последнего нуля в одномерном массиве
Посмотрите здесь:

C++ Замена первого максимального элемента в одномерном массиве на 0
В одномерном массиве посчитать сумму элементов после последнего положительного элемента C++
Найти величину и номер первого отрицательного и последнего положительного элементов в массиве C++
C++ В одномерном массиве найти сумму целых частей елементов, расположенных после последнего отрицательного элемента
Определить количество элементов после первого нуля C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Flassie
181 / 166 / 29
Регистрация: 03.08.2012
Сообщений: 591
Завершенные тесты: 2
16.05.2013, 21:22     Определить позицию первого и последнего нуля в одномерном массиве #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <time.h>
using namespace std;
int main(){
   srand(time(NULL));
   int mass[100];
   bool checkFirst = false, checkLast = false;
   for(int i = 0; i < 100; i++) mass[i] = rand()%100;
   for(int i = 0, j = 99; (i < 100 || j>=0) && (!checkFirst || !checkLast); i++, j--){
      if(!checkFirst && mass[i]==0) cout << "First null on the " << i << " position\n";
      if(!checkLast && mass[j]==0) cout << "Last null on the " << j << " position\n";
   }
   return 0;
}
MikhailDmitren
Сообщений: n/a
20.05.2013, 21:24     Определить позицию первого и последнего нуля в одномерном массиве #3
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
#include <vcl.h>
#include <iostream>
using namespace std;
int main()
{int m[5], first=-1, last=-1;
for(int i=0; i<5; i++)
{cout<<"vvedite el\n";
cin>>m[i];
}
 
for(int k=0; k<5; k++)
{if(m[k]==0)
{if (first<0) first=k;
last=k;
}
}
 
 
if (last>0) printf ("\nFirst null in %d position, last null in %d position",first,last);
else printf ("\nNot found");
 
int end;
cin>>end;
return 0;
}
Программа работает, но вот если набираем допустим массив 10307, должно показать, что первый ноль на второй позиции, а последний ноль на четвертой позиции, но показывает, что первый ноль на первой позиции, а последний ноль на третей позиции. Помогите пожалуйста исправить ошибку.
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
20.05.2013, 21:50     Определить позицию первого и последнего нуля в одномерном массиве #4
Программа работает, но вот если набираем допустим массив 10307, должно показать, что первый ноль на второй позиции, а последний ноль на четвертой позиции, но показывает, что первый ноль на первой позиции, а последний ноль на третей позиции.
C++
1
2
3
4
5
6
for(int k=0; k<5; k++)
{if(m[k]==0)
{if (first<0) first=k+1;
last=k+1;
}
}
Yandex
Объявления
20.05.2013, 21:50     Определить позицию первого и последнего нуля в одномерном массиве
Ответ Создать тему
Опции темы

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