Розыгрыш Premium и Уникальной юзергруппы на форуме! Перейти


  • УЖЕ ЗАВТРА! Просто зашёл, нажал на кнопку участия и забрал кучу призов уже 30-го декабря: https://yougame.biz/threads/366947/

Pascal to C++

  • Автор темы Автор темы wodaha
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
6 Сен 2019
Сообщения
4
Реакции
0
var i:integer;
s:real;
begin
s:=0;
for i:=1 to 49 do
case i of
1..3:s:=s+i*i;
4..8:s:=s+i*i+i;
9..15:s:=s+i;
16..25:s:=s+i+sqrt(i);
26..49:s:=s+sqrt(i);
end;
write('s=',s:0:3);
end.

Помогите в С++ перевести
 
C++:
Expand Collapse Copy
#include <iostrean>
#include <iomap>
#include <math.h>

int main()
{
    float s = 0;
    
    for (unsigned int i = 0; j < 49; j++)
    {
        switch (i)
        {
            case 1 ... 3:
                s += i * i;
                break;
            case 4 ... 8:
                s += i * i + i;
                break;
            case 9 ... 15:
                s += i;
                break;
            case 16 ... 25:
                s += i + sqrt(i);
                break;
            case 26 ... 49:
                s += sqrt(i);
                break;
        }
    }
    
    std::cout << std::fixed << std::setprecision(3) << s;
}
 
C++:
Expand Collapse Copy
#include <iostrean>
#include <iomap>
#include <math.h>

int main()
{
    float s = 0;
  
    for (unsigned int i = 0; j < 49; j++)
    {
        switch (i)
        {
            case 1 ... 3:
                s += i * i;
                break;
            case 4 ... 8:
                s += i * i + i;
                break;
            case 9 ... 15:
                s += i;
                break;
            case 16 ... 25:
                s += i + sqrt(i);
                break;
            case 26 ... 49:
                s += sqrt(i);
                break;
        }
    }
  
    std::cout << std::fixed << std::setprecision(3) << s;
}

Не вводи в заблуждение. В Си, C++ множество значений для switch делается так
C++:
Expand Collapse Copy
switch (x){
  case 1:
    ...
  case 2:
  case 3:
    ...
  break;
}
 
Для использования кейсов с несколькими значениями используют
Код:
Expand Collapse Copy
switch (i)
{
    case 1:
    case 2:
    case 3:
    case 4:
        hack_pentagon()
}
Но, если значение интервала больше 5, то компилятор уже начнет выдавать ошибку. В таком случае нужно использовать if или for
 
Но, если значение интервала больше 5, то компилятор уже начнет выдавать ошибку. В таком случае нужно использовать if или for

Что за компилятор у тебя? в стандарте языка С++ нет ограничений, но не рекомендуется использовать более 16384
 
Назад
Сверху Снизу