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

for заменить на while - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
venson!
0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 15
03.12.2011, 13:33     for заменить на while #1
C++
1
2
3
4
5
for( i=0; i<(n-1);i++)
{
if (a[i]==0 && a[a+1]==0)
zero=true;
}
как написать используя оператор while(условие)???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HCK
 Аватар для HCK
44 / 19 / 1
Регистрация: 18.09.2011
Сообщений: 70
03.12.2011, 13:39     for заменить на while #2
Цитата Сообщение от venson! Посмотреть сообщение
for( i=0; i<(n-1);i++)
{
if (a[i]==0 && a[a+1]==0)
zero=true;
}

как написать используя оператор while(условие)???
C++
1
2
3
4
5
6
while (i < (n - 1) )
{  
  if (a[i]==0 && a[a+1]==0)
    zero=true;
  i++;
}
так ? Или тебе нужно что бы только операторы while были ?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
03.12.2011, 13:46     for заменить на while #3
HCK, а i инициализировать забыли?
HCK
 Аватар для HCK
44 / 19 / 1
Регистрация: 18.09.2011
Сообщений: 70
03.12.2011, 14:21     for заменить на while #4
Цитата Сообщение от go Посмотреть сообщение
HCK, а i инициализировать забыли?
Это тривиальные вещи впринципе. Просто я опустил данный момент расчитывая на сознательность юных программистов
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
03.12.2011, 14:37     for заменить на while #5
Цитата Сообщение от HCK Посмотреть сообщение
Это тривиальные вещи впринципе. Просто я опустил данный момент расчитывая на сознательность юных программистов
Пример то легкий, ну я же не прошу объявить, есть кусок кода с for, если с while, то
C
1
2
3
4
5
6
7
i=0;
while (i < (n - 1) )
{  
  if (a[i]==0 && a[a+1]==0)
    zero=true;
  i++;
}
HCK
 Аватар для HCK
44 / 19 / 1
Регистрация: 18.09.2011
Сообщений: 70
03.12.2011, 14:49     for заменить на while #6
Цитата Сообщение от go Посмотреть сообщение
Пример то легкий, ну я же не прошу объявить, есть кусок кода с for, если с while, то
C
1
2
3
4
5
6
7
i=0;
while (i < (n - 1) )
{  
  if (a[i]==0 && a[a+1]==0)
    zero=true;
  i++;
}
Понятно
C++
1
2
3
4
5
6
int i=0;
while (i < (n - 1) )
{  
  if (a[i]==0 && a[a+1]==0)
    zero=true;
  i++;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2011, 15:09     for заменить на while
Еще ссылки по теме:

Нужно все буквы B заменить на решётку #, а буквы A заменить на A и B через раз C++
Нужно все буквы B заменить на решётку #, а буквы A заменить на A и B через раз - C++ C++

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

Или воспользуйтесь поиском по форуму:
Сыроежка
Заблокирован
03.12.2011, 15:09     for заменить на while #7
Цитата Сообщение от venson! Посмотреть сообщение
C++
1
2
3
4
5
for( i=0; i<(n-1);i++)
{
if (a[i]==0 && a[a+1]==0)
zero=true; 
}
как написать используя оператор while(условие)???
Во-первых, хотел бы обратить ваше внимание: не содержится ли ошибка в этом предложении

C++
1
if (a[i]==0 && a[a+1]==0)
То есть не должен ли в правой части логического условия использоваться индекс i+1 вместо a+1

Теперь по поводу вашего задания. Очевидно, если логическое условие уже выполнено, то нет необходимости выполнять цикл до коонца. Поэтому я ваш код переписал бы следующим образом

C++
1
2
3
4
5
6
zero = false; i = 0;
 
while ( !zero && i++ < n - 1 )
{
   zero = ( a[i-1] == 0 ) && ( a[i] == 0 );
}
Yandex
Объявления
03.12.2011, 15:09     for заменить на while
Ответ Создать тему
Опции темы

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