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

перевести программу на С++ - C++

Восстановить пароль Регистрация
 
 
vasilisa-9090
 Аватар для vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
25.04.2013, 08:08     перевести программу на С++ #1
помогите перевести программу с паскаля на С++.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
uses crt; 
var i,n:integer; 
     a1,a2,a,eps:real; 
      l:boolean; 
begin 
 clrscr; 
 l:=false; 
 writeln($$n,eps $$); 
  
 readln(n,eps); 
 a1:=1; 
 a2:=2; 
i:=2; 
 repeat 
 i:=i+1; 
  a:=(a1+a2)/2;   
  a2:=a1; 
  a1:=a; 
 if ((a1-a2))and(l=false) then 
   begin 
     l:=true; 
     writeln($$наименьший номер члена последовательно*сти $$,i); 
   end; 
 writeln(a); 
 if i mod 25=0 then readln; 
 until(i>=n); 
 if l=false then writeln($$Такой номер не найден$$); 
readln 
end.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2013, 08:08     перевести программу на С++
Посмотрите здесь:

C++ Из Pascal в C++ программу перевести
C++ Перевести программу в С++
перевести программу на С++ C++
C++ Перевести программу с языка С++
C++ Перевести программу на сайт
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
art3330
 Аватар для art3330
9 / 9 / 1
Регистрация: 16.12.2012
Сообщений: 141
25.04.2013, 08:30     перевести программу на С++ #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
using namespace std;
int main(){
    int i,n; 
    float a1,a2,a,eps; 
    bool l;
    l=false;
    cout<<"n eps \n";
    cin>>n>>eps;
    a1=1; 
    a2=2;
    i=2;
    do{
        i=+1;
        a=(a1+a2)/2;
        a2=a1;
        a1=a;
        if((a1-a2) || (l=false)){
            l=1;
            cout<<"Наименьший номер члена последовательности: "<<i<<"\n";
        };
        cout<<"a="<<a<<"\n";
        if (i%25==0) {cin.get();}
        
    }while(i>=n);
    if (l==false) {cout<<"\nТакой номер не найден.\n";}
    cin.get();
    return 0;
};
Добавлено через 1 минуту
Пожалуйста.
Только вопрос. Что за ряд считает эта программа?
vasilisa-9090
 Аватар для vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
25.04.2013, 09:20  [ТС]     перевести программу на С++ #3
Найти наименьший номер члена последовательно*сти, для которого выполняется условие http://www.cyberforum.ru/cgi-bin/latex.cgi?|{a}_{n}-{a}_{n-1}|<\varepsilon.
Выве*сти на экран этот номер и все элементы аi, где i = 1, 2..... n. ε=0.001

последовательность:
http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n}=({a}_{n-1}+{a}_{n-2})/2, {a}_{1}=1, {a}_{2}=2

Добавлено через 1 минуту
а вы случаено не проверяли, она работает?
art3330
 Аватар для art3330
9 / 9 / 1
Регистрация: 16.12.2012
Сообщений: 141
25.04.2013, 09:37     перевести программу на С++ #4
Программа рабочая, а вот насчет правильной работы. Я переписал Ваш код. Так что если на паскале программа работает верно, то и тут она будет работать верно. =)

Добавлено через 8 минут
Там я в одной строчке знаки перепутал, исправил, но программа все равно выводит один и тот же результат. Вы уверены, что программа на паскале рабочая?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
using namespace std;
int main(){
    int i,n; 
    float a1,a2,a,eps; 
    bool l;
    l=false;
    cout<<"n eps \n";
    cin>>n>>eps;
    a1=1; 
    a2=2;
    i=2;
    do{
        i=i+1;
        a=(a1+a2)/2;
        a2=a1;
        a1=a;
        if((a1-a2) || (l=false)){
            l=true;
            cout<<"Наименьший номер члена последовательности: "<<i<<"\n";
        };
        cout<<"a="<<a<<"\n";
        if (i%25==0) {cin.get();}
        
    }while(i>=n);
    if (l==false) {cout<<"\nТакой номер не найден.\n";}
    cin.get();
    return 0;
};
Добавлено через 2 минуты
Вот это точно работающий вариант.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
using namespace std;
int main(){
    int i,n; 
    float a1,a2,a,eps; 
    bool l;
    l=false;
    cout<<"n eps \n";
    cin>>n>>eps;
    a1=1; 
    a2=2;
    i=2;
    do{
        i=i+1;
        a=(a1+a2)/2;
        a2=a1;
        a1=a;
        if((a1-a2) || (l=false)){
            l=true;
            cout<<"Наименьший номер члена последовательности: "<<i<<"\n";
        };
        cout<<"a="<<a<<"\n";
        if (i%25==0) {cin.get();}
        
    }while(i<=n);
    if (l==false) {cout<<"\nТакой номер не найден.\n";}
    cin.get();
    return 0;
};
Там с условием конца цикла был косяк =)
vasilisa-9090
 Аватар для vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
25.04.2013, 09:45  [ТС]     перевести программу на С++ #5
а у вас нет случаено ссылки на борланд 5.5? просто у меня 4.5 и он некоторые команды не читает? заранее огромное спасибо!!
-=ЮрА=-
Заблокирован
Автор FAQ
25.04.2013, 09:49     перевести программу на С++ #6
Цитата Сообщение от art3330 Посмотреть сообщение
}while(i<=n);
- ну что за ерунда, в задании что казано
Цитата Сообщение от vasilisa-9090 Посмотреть сообщение
ε=0.001
- надо останавливать подсчёт когда разница между членами ряда будет меньше эпсилон, даже нет сравнения с
Цитата Сообщение от art3330 Посмотреть сообщение
>eps;
, ужастик просто а не код...
art3330
 Аватар для art3330
9 / 9 / 1
Регистрация: 16.12.2012
Сообщений: 141
25.04.2013, 09:52     перевести программу на С++ #7
Ом. А что именно он не читает ?

Кстати, Вы уверены в правильности работы Вашей программы на паскале? Заметил такой момент, что там eps в коде не используется, и мелкие разные косяки
vasilisa-9090
 Аватар для vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
25.04.2013, 09:53  [ТС]     перевести программу на С++ #8
Цитата Сообщение от vasilisa-9090 Посмотреть сообщение
Найти наименьший номер члена последовательно*сти, для которого выполняется условие http://www.cyberforum.ru/cgi-bin/latex.cgi?|{a}_{n}-{a}_{n-1}|<\varepsilon.
Выве*сти на экран этот номер и все элементы аi, где i = 1, 2..... n. ε=0.001

последовательность:
http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n}=({a}_{n-1}+{a}_{n-2})/2, {a}_{1}=1, {a}_{2}=2

Добавлено через 1 минуту
а вы случаено не проверяли, она работает?
вот это задание. а там что-то не правильно?
art3330
 Аватар для art3330
9 / 9 / 1
Регистрация: 16.12.2012
Сообщений: 141
25.04.2013, 09:53     перевести программу на С++ #9
-=ЮрА=-, я просто переписал код с паскаля, особо не вникая в его смысл.
vasilisa-9090
 Аватар для vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
25.04.2013, 09:54  [ТС]     перевести программу на С++ #10
не уверена, я ее не проверяла, т.к. мой компилятор не читает некоторые команды. поэтому и спрашивала о работоспособности
art3330
 Аватар для art3330
9 / 9 / 1
Регистрация: 16.12.2012
Сообщений: 141
25.04.2013, 09:54     перевести программу на С++ #11
Теперь уже заметил эти косяки.
vasilisa-9090
 Аватар для vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
25.04.2013, 09:58  [ТС]     перевести программу на С++ #12
а если по заданию, то что мне нужно исправить?
-=ЮрА=-
Заблокирован
Автор FAQ
25.04.2013, 10:02     перевести программу на С++ #13
Вот более менее приемлимое решение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include <math.h>
 
int main()
{
    long    n;
    double e = 0;//Г*Г*ГёГ* ïîãðåøГ*îñòü
    printf("Enter e : ");scanf("%lf", &e);
    double an_2 = 1;
    double an_1 = 2;
    double an   = (an_1 + an_2) / 2;
    
    for(n = 0; e < fabs(an_2 - an_1); n = n + 1)
    {
        printf("\rn : %d an : %lf error : %lf", n, an, fabs(an_2 - an_1));
        an_2 = an_1;
        an_1 = an;
        an   = (an_1 + an_2) / 2;
    }
    printf("\n\tCalculations stoped\n");
    printf("\rn : %d an : %lf error : %lf\n", n, an, fabs(an_2 - an_1));
    printf("Enter any key for exit...");
    getchar();
    return 0;
}
Миниатюры
перевести программу на С++  
-=ЮрА=-
25.04.2013, 10:03
  #14

Не по теме:

vasilisa-9090, одно к вам пожелание, если хотите чтобы вам быстро а главное правильно помагали, сразу цепляйте полное задание, тогда помощь не заставит себя ждать.

vasilisa-9090
 Аватар для vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
25.04.2013, 10:04  [ТС]     перевести программу на С++ #15
спасибо огромное!!
art3330
 Аватар для art3330
9 / 9 / 1
Регистрация: 16.12.2012
Сообщений: 141
25.04.2013, 10:07     перевести программу на С++ #16
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <math.h>
using namespace std;
int main(){
    int i,n; 
    float a1,a2,a,eps; 
    bool l;
    l=false;
    cout<<"n eps \n";
    cin>>n>>eps;
    a1=1; 
    a2=2;
    i=0;;
    do{
        i=i+1;
        a=(a1+a2)/2;
        a2=a1;
        a1=a;
        if(fabs(a1-a2)<eps){
            l=true;
            cout<<"#"<<i<<" fabs(a1-a2)="<<fabs(a1-a2)<<"\n";
            cout<<"Наименьший номер члена последовательности: "<<i<<"\n";
            break;
        };
        cout<<"#"<<i<<" a="<<a<<"\n";
        if (i%25==0) {break;}   
    }while(i<=n);
    if (l==false) {cout<<"\nТакой номер не найден.\n";}
    cin.get();
    return 0;
};
Добавлено через 1 минуту
Это Ваша программа, с исправленными ошибками.
-=ЮрА=-
25.04.2013, 10:13
  #17

Не по теме:

Цитата Сообщение от art3330 Посмотреть сообщение
Это Ваша программа, с исправленными ошибками.
art3330, в данном заднии не следует вводить n.
Цитата Сообщение от art3330 Посмотреть сообщение
cout<<"n eps \n";
* * cin>>n>>eps;
- NO!
Лучше всегда анализировать задание и сравнивать с предложенной реализацией, в которой была куча упущений и ошибок
Цитата Сообщение от art3330 Посмотреть сообщение
#include <math.h>
- инклудится в плюсах в новом стиле #include <cmath>

vasilisa-9090
 Аватар для vasilisa-9090
1 / 1 / 0
Регистрация: 30.03.2013
Сообщений: 108
25.04.2013, 10:14  [ТС]     перевести программу на С++ #18
что-то у меня не получается ее на стандартные команді С++ переделатью вот єту строчку:
C++
1
 printf("\rn : %d an : %lf error : %lf", n, an, fabs(an_2 - an_1))ж
просто нам с командами и библиотеками Си запрещают писать=((
-=ЮрА=-
25.04.2013, 10:16
  #19

Не по теме:

Цитата Сообщение от vasilisa-9090 Посмотреть сообщение
просто нам с командами и библиотеками Си запрещают писать=((
- хорошо сейчас будет на плюсах

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2013, 10:22     перевести программу на С++
Еще ссылки по теме:

C++ Перевести программу с Pascal на С++
C++ Перевести программу с Pascal на С++
Перевести программу на С++ C++

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
25.04.2013, 10:22     перевести программу на С++ #20
Вот на плюсах
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <cmath>
using namespace std;
 
//Äëÿ 4-ГЈГ® áîðëГ*Г*Г¤Г* ГёГ*ГЇГЄГі õåäåðîâ Г§Г*ГЇГЁГ±Г*ГІГј ГІГ*ГЄ
//#include <iostream.h>
//#include <math.h>
 
int main()
{
    long    n;
    double e = 0;//Г*Г*ГёГ* ïîãðåøГ*îñòü
    cout<<"Enter e : ";cin>>e;cin.get();
    double an_2 = 1;
    double an_1 = 2;
    double an   = (an_1 + an_2) / 2;
    
    for(n = 0; e < fabs(an_2 - an_1); n = n + 1)
    {
        cout<<"\rn : "<<n<<" an : "<<an<<" error : "<<fabs(an_2 - an_1);
        an_2 = an_1;
        an_1 = an;
        an   = (an_1 + an_2) / 2;
    }
    cout<<"\n\tCalculations stoped\n";
    cout<<"\rn : "<<n<<" an : "<<an<<" error : "<<fabs(an_2 - an_1)<<"\n";
    cout<<"Enter any key for exit...";
    cin.get();
    return 0;
}
Миниатюры
перевести программу на С++  
Yandex
Объявления
25.04.2013, 10:22     перевести программу на С++
Ответ Создать тему
Опции темы

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