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

Перевод - C++

Восстановить пароль Регистрация
 
SeryZone
 Аватар для SeryZone
56 / 28 / 5
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
14.04.2012, 20:09     Перевод #1
Pascal
1
2
3
4
5
6
7
8
9
10
11
program NoName;
 
var
  x1, y1, x2, y2, x3, y3, x4, y4: integer;
 
begin
  readln(x1, y1); readln(x2, y2); 
  readln(x3, y3); readln(x4, y4); 
  writeln(((x1 + x3) / 2):3:3, ' ', ((y1 + y3) / 2):3:3);
  writeln(sqrt(sqr(x3 - x1) + sqr(y3 - y1)):3:3, ' ', sqrt(sqr(x4 - x2) + sqr(y4 - y2)):3:3);
end.
Помогите перевести на с++, чтобы выполнялась мгновенно и выделяла меньше памяти.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2012, 20:09     Перевод
Посмотрите здесь:

Перевод на С++ C++
C++ перевод в С
Перевод из 2 в 10 сс C++
C++ перевод из с++ в с
C++ Перевод
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
14.04.2012, 20:09     Перевод #2
Цитата Сообщение от SeryZone Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
8
9
10
11
program NoName;
 
var
  x1, y1, x2, y2, x3, y3, x4, y4: integer;
 
begin
  readln(x1, y1); readln(x2, y2); 
  readln(x3, y3); readln(x4, y4); 
  writeln(((x1 + x3) / 2):3:3, ' ', ((y1 + y3) / 2):3:3);
  writeln(sqrt(sqr(x3 - x1) + sqr(y3 - y1)):3:3, ' ', sqrt(sqr(x4 - x2) + sqr(y4 - y2)):3:3);
end.
Помогите перевести на с++, чтобы выполнялась мгновенно и выделяла меньше памяти.
А на паскале мгновенно не выполняется?
SeryZone
 Аватар для SeryZone
56 / 28 / 5
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
14.04.2012, 20:23  [ТС]     Перевод #3
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <iomanip>
#include <math.h>
int main()
{
    int x1,y1,x2,y2,x3,y3,x4,y4;
    scanf("%d%d",&x1,&y1); scanf("%d%d",&x2,&y2); scanf("%d%d",&x3,&y3); scanf("%d%d",&x4,&y4);
    std::setprecision(3);
    printf("%f %f\n",((x1 + x3) / 2),((y1 + y3) / 2));
    printf("%f %f\n", (sqrt((x3 - x1)*(x3-x1) + (y3 - y1)*(y3-y1)+.0)),(sqrt((x4 - x2)*(x4-x2) + (y4 - y2)*(y4-y2)+.0)));
}
Вот наброски, а вот с округлением проблема! До 3 цифр после точки - никак не округляет!

Добавлено через 1 минуту
Цитата Сообщение от Nekto Посмотреть сообщение
А на паскале мгновенно не выполняется?
Выполняется, но много памяти занимает...
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
14.04.2012, 20:24     Перевод #4
setprecision повлияет на вывод с помощью cout, для printf вроде нужно что-то типа %.3f
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
14.04.2012, 20:26     Перевод #5
Цитата Сообщение от SeryZone Посмотреть сообщение
Вот наброски, а вот с округлением проблема! До 3 цифр после точки - никак не округляет!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <cstdio>
#include <cmath>
#include <iostream>
int main()
{
 int x[4],y[4];
 scanf("%d %d %d %d %d %d %d %d",&x[0],&y[0],&x[1],&y[1],&x[2],&y[2],&x[3],&y[3]);
 printf("%3.3lf %3.3lf\n%3.3lf %3.3lf\n",
               (x[0]+x[2])/2.0,
               (y[0]+y[2])/2.0,
               sqrt((x[2]-x[0])*(x[2]-x[0])+(y[2]-y[0])*(y[2]-y[0])),
               sqrt((x[3]-x[1])*(x[3]-x[1])+(y[3]-y[1])*(y[3]-y[1])));
 system("pause");
 return 0;
}
Всё нормально округляет. Сколько там той памяти надо на такую программу?
SeryZone
 Аватар для SeryZone
56 / 28 / 5
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
14.04.2012, 20:35  [ТС]     Перевод #6
спасибо! Хоть Вы меня просветили в округлении!

Добавлено через 3 минуты
время выполнения: 0.015 секунды из 1 секунда, 1.5%
Лимит памяти: 1136 KB из 65536 KB, 1.7%
Дело дрянь. Я просто расчитывал на лучшее решение задачи...
SeryZone
 Аватар для SeryZone
56 / 28 / 5
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
18.04.2012, 20:20  [ТС]     Перевод #7
C++
1
2
3
4
5
6
7
#include <stdio.h>
int main()
{
    int a,b,c,d;
    scanf("%d%d%d%d",&a,&b,&c,&d);
    printf("%3.3lf %3.3lf %3.3lf %3.3f\n",a*b,(c-(c-a))*(d-b),(c-a)*(d-b),(c-a)*(d-(d-b)));
}
Вот - бред какойто выводит. Вот ссылка, кому надо: http://www.e-olimp.com/problems/950
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
18.04.2012, 20:53     Перевод #8
Цитата Сообщение от SeryZone Посмотреть сообщение
C++
1
2
3
4
5
6
7
#include <stdio.h>
int main()
{
    int a,b,c,d;
    scanf("%d%d%d%d",&a,&b,&c,&d);
    printf("%3.3lf %3.3lf %3.3lf %3.3f\n",a*b,(c-(c-a))*(d-b),(c-a)*(d-b),(c-a)*(d-(d-b)));
}
Вот - бред какойто выводит. Вот ссылка, кому надо: http://www.e-olimp.com/problems/950
C++
1
printf("%d.000 %d.000 %d.000 %d.000\n",a*b,(c-(c-a))*(d-b),(c-a)*(d-b),(c-a)*(d-(d-b)));
Добавлено через 14 минут
Цитата Сообщение от Nekto Посмотреть сообщение
C++
1
printf("%d.000 %d.000 %d.000 %d.000\n",a*b,(c-(c-a))*(d-b),(c-a)*(d-b),(c-a)*(d-(d-b)));
правда, формулы ты какие-то странные задал
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
18.04.2012, 21:14     Перевод #9
SeryZone, а какой тебе интерес оставлять там решения не тобой решенных задач?
SeryZone
 Аватар для SeryZone
56 / 28 / 5
Регистрация: 09.03.2012
Сообщений: 726
Записей в блоге: 1
19.04.2012, 19:01  [ТС]     Перевод #10
Я САМ РЕШАЮ ТЕ ЗАДАЧИ!!!!!!!!!! Но не понимаю округление...
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.04.2012, 19:10     Перевод #11
Цитата Сообщение от SeryZone Посмотреть сообщение
Помогите перевести на с++, чтобы выполнялась мгновенно и выделяла меньше памяти.
Перевод здесь не поможет, надо менять алгоритм, как "войну и мир" не переводи, тост Михалыча не получится.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2012, 21:38     Перевод
Еще ссылки по теме:

C++ Перевод из C в С++
Перевод с С на С++ C++
Перевод из C# в С++ C++

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

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
19.04.2012, 21:38     Перевод #12
Цитата Сообщение от SeryZone Посмотреть сообщение
Я САМ РЕШАЮ ТЕ ЗАДАЧИ!!!!!!!!!! Но не понимаю округление...
Я заметил... Все задачи сам решил.
Yandex
Объявления
19.04.2012, 21:38     Перевод
Ответ Создать тему
Опции темы

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