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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 1, средняя оценка - 1.00
Vlad_fractal
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 78
#1

Перевести из for в while - C++

12.11.2013, 10:02. Просмотров 532. Ответов 14
Метки нет (Все метки)

Вот часть кода, с циклом for:
C++
1
2
3
for(x=1; x<=50; x++)
y+=1/(x*x);
printf("%f", y);
Нужно написать тот же код, при помощи while.
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2013, 10:02     Перевести из for в while
Посмотрите здесь:

Перевести фиолетовый (105, 62, 151) из RGB в HSB, уменьшить яркость в 2 раза и перевести обратно
Помогите пожалуйста! Перевести фиолетовый (105, 62, 151) из RGB в HSB, уменьшить яркость в 2 раза и перевести обратно

QString перевести в char* || QChar перевести в char* - C++ Qt
Подскажите пожалуйста как сделать: Исходники в utf-8, qt4.8 setlocale(LC_ALL, &quot;Russian&quot;); QTextCodec *wincodec =...

Как презентации SWF флэш сайта перевести в HTML5 с сохранением эфектов ) Как правильно и полноценно Перевести SWF в HTML5 - Flash
программа Sothink SWF Decompiler конвертирует SWF файл в HTML5 разбивая его на HTML и JS ...но она тянет только файл 15kb ...это очень...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vua72
415 / 415 / 85
Регистрация: 28.11.2010
Сообщений: 1,183
Завершенные тесты: 1
12.11.2013, 10:06     Перевести из for в while #2
Цитата Сообщение от Vlad_fractal Посмотреть сообщение
Вот часть кода, с циклом for:
C++
1
2
3
for(x=1; x<=50; x++)
y+=1/(x*x);
printf("%f", y);
Нужно написать тот же код, при помощи while.
Заранее спасибо.
while - тот же for, только инициализация счетчика выносится перед циклом
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
12.11.2013, 10:06     Перевести из for в while #3
C++
1
2
3
4
5
6
7
int x = 1;
while(x <= 50)
{
    y+=1/(x*x);
    x++;
}
printf("%f", y);
Vlad_fractal
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 78
12.11.2013, 10:14  [ТС]     Перевести из for в while #4
Спасибо, разобрался.
Вот, проверьте, верен ли код, компилятора под рукой нету.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
main()
{
float z=0;
int i=1,j=1;
while(i<=50)
{i++;
while(j<=10)
{j++;
z+=1/(i+j);
}
}
cout<<z;
}
задание: Вычислить 1/(i + j), где i=1,2,3...50; j=1,2,3...10, c помощью вложенных циклов while
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
12.11.2013, 10:18     Перевести из for в while #5
Задание какое-то неоднозначное. Его можно понять десятком разных способов. Это точный текст задания?
SatanaXIII
Супер-модератор
Эксперт С++
5603 / 2637 / 242
Регистрация: 01.11.2011
Сообщений: 6,496
Завершенные тесты: 1
12.11.2013, 10:23     Перевести из for в while #6
Пыщь
C++
1
2
3
4
5
6
7
int x = 0;
double y = 0.;
 
while(x++<50)  
  y+=(double)1/(x*x);
 
printf("%f", y);
Добавлено через 2 минуты
Цитата Сообщение от Vlad_fractal Посмотреть сообщение
компилятора под рукой нету
Компилируется как часы.
Только не делает, что требовалось.
Vlad_fractal
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 78
12.11.2013, 10:24  [ТС]     Перевести из for в while #7
Что нужно поменять?
фигурные скобки не так расставлены или в теле цикла ошибка?
SatanaXIII
Супер-модератор
Эксперт С++
5603 / 2637 / 242
Регистрация: 01.11.2011
Сообщений: 6,496
Завершенные тесты: 1
12.11.2013, 10:29     Перевести из for в while #8
Цитата Сообщение от Vlad_fractal Посмотреть сообщение
Вот, проверьте, верен ли код
Пыщь#2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream.h>
main()
{
float z=0;
int i=1,j=1;
while(i++<50)
  while(j<=10)
    z+=(double)1/(i+ ++j);
 
cout<<z;
cin.ignore();
return 0;
}
вариация
C++
1
2
3
4
5
float z=0;
int i=1,j=1;
while(i++<50)
  while(j++<=10)
    z+=(double)1/(i+j);
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
12.11.2013, 10:32     Перевести из for в while #9
А i и j разве не с 2х начнутся при таком подходе?
SatanaXIII
Супер-модератор
Эксперт С++
5603 / 2637 / 242
Регистрация: 01.11.2011
Сообщений: 6,496
Завершенные тесты: 1
12.11.2013, 10:33     Перевести из for в while #10
Rivory, именно так. Все как у ТС, только работает.
Vlad_fractal
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 78
12.11.2013, 10:37  [ТС]     Перевести из for в while #11
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Пыщь#2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream.h>
main()
{
float z=0;
int i=1,j=1;
while(i++<50)
  while(j<=10)
    z+=(double)1/(i+ ++j);
 
cout<<z;
cin.ignore();
return 0;
}
вариация
C++
1
2
3
4
5
float z=0;
int i=1,j=1;
while(i++<50)
  while(j++<=10)
    z+=(double)1/(i+j);
И это работает? Что выводится на экран?
SatanaXIII
Супер-модератор
Эксперт С++
5603 / 2637 / 242
Регистрация: 01.11.2011
Сообщений: 6,496
Завершенные тесты: 1
12.11.2013, 10:57     Перевести из for в while #12
Цитата Сообщение от Vlad_fractal Посмотреть сообщение
Что выводится на экран?
Код
1.3468
Vlad_fractal
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 78
12.11.2013, 10:58  [ТС]     Перевести из for в while #13
У меня 0 выводится на экран и всё...
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
12.11.2013, 10:59     Перевести из for в while #14
http://codepad.org/BzkLmdO2
Vlad_fractal
0 / 0 / 0
Регистрация: 16.10.2013
Сообщений: 78
12.11.2013, 11:05  [ТС]     Перевести из for в while #15
Короче, попробовал добавить double, перед выражением 1/(i+j), запустил, зависло всё нахрен. =D
Компилятор тут просто чудо. =)

Добавлено через 2 минуты
Так, разобрался, наконец.
Всё работает, результат как и у вас. Спасибо за внимание. =)
Yandex
Объявления
12.11.2013, 11:05     Перевести из for в while
Ответ Создать тему
Опции темы

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