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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
venson!
0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 15
#1

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

03.12.2011, 13:33. Просмотров 1923. Ответов 6
Метки нет (Все метки)

C++
1
2
3
4
5
for( i=0; i<(n-1);i++)
{
if (a[i]==0 && a[a+1]==0)
zero=true;
}
как написать используя оператор while(условие)???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2011, 13:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос for заменить на while (C++):

Процедура: заменить в текстовом файле каждую цифру на следующую по величине ('9' заменить на '0') - Pascal ABC
Используя подпрограмму-процедуру, заменить в текстовом файле каждую цифру на следующую по величине('9' заменить на '0').

В каждой строке матрицы max элемент заменить на 1, а min заменить на 0 - Pascal
Матрица F в каждой строке Max элемент заменить 1, а min заменить 0.

Наибольшее заменить средним арифметическим двух чисел, наименьшее заменить их удвоенным произведением - Pascal ABC
Даны 2 числа. Наибольшее заменить средним арифметическим двух чисел, наименьшее заменить их удвоенным произведением.

Заменить каждую букву «а» предшествующем символом. Если буква «а» первая, то заменить ее на последнюю. - Turbo Pascal
Напишите пожалуйста решение!СПАСИБО! Заменить каждую букву «а» предшествующем символом. Если буква «а» первая, то заменить ее на...

массиве А(n) каждый элемент, заменить суммой всех предыдущих элементов первый заменить на 0 - Pascal
помогите пожалуйста! Например, в массиве 5 чисел: 1,2,3,4,5 Они должны заменяться таким образом: A =4+3+2+1=10, и т.д. а первое заменяем...

Даны два числа. Большее из них заменить полусуммой, а меньшее заменить удвоенным произведением - VBA
Даны два числа. Большее из них заменить полусуммой, а меньшее заменить удвоенным произведением.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
HCK
44 / 19 / 1
Регистрация: 18.09.2011
Сообщений: 70
03.12.2011, 13:39 #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++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
03.12.2011, 13:46 #3
HCK, а i инициализировать забыли?
HCK
44 / 19 / 1
Регистрация: 18.09.2011
Сообщений: 70
03.12.2011, 14:21 #4
Цитата Сообщение от go Посмотреть сообщение
HCK, а i инициализировать забыли?
Это тривиальные вещи впринципе. Просто я опустил данный момент расчитывая на сознательность юных программистов
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
03.12.2011, 14:37 #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
44 / 19 / 1
Регистрация: 18.09.2011
Сообщений: 70
03.12.2011, 14:49 #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++;
Сыроежка
Заблокирован
03.12.2011, 15:09 #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 );
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.12.2011, 15:09
Привет! Вот еще темы с ответами:

Строки. Заменить символы - цифры на символ '*'. В заданной строке заменить подряд идущие пробелы - C++
П.5.16.Правил Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема. ...

Заменить в квадратной матрице числа их квадратными коренями, если это сделать нельзя, то заменить их на противоположные - Pascal
Кто знает как делать ...плиз напишите прогу ...

Если сумма двух чисел меньше единицы, то наименьшее заменить полусуммой, иначе меньшее заменить суммой - Turbo Pascal
Если сумма двух различных чисел меньше единицы, то наименьшее заменить полусуммой, в противном случае меньшее заменить суммой

Чем можно заменить заменить toggle() ? - jQuery
Добрый день, у меня такой вопрос. Чем можно заменить toggle(function(), function()); В ранних версиях toggle можно было использовать как...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.12.2011, 15:09
Ответ Создать тему
Опции темы

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