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

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

Войти
Регистрация
Восстановить пароль
 
stepansiy
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 17
#1

Перевод программы на С++ с Паскаля - C++

10.01.2012, 09:14. Просмотров 920. Ответов 4
Метки нет (Все метки)

Код
[CPP][CPP]
var sn,s:string;
    l,k,kod:integer;
    v,p:real;
begin
writeln('Введите строку');
readln(s);
l:=length(s);
p:=1; k:=1;
repeat
  sn:='';
  while (s[k]>='0')and(s[k]<='9')and(k<=l) do
   begin
    sn:=sn+s[k];
    k:=k+1;
   end;
   if sn<>'' then
   begin
    val(sn,v,kod);
    p:=p*v;
   end;
   k:=k+1;
   until k>l;
   writeln(' p=',p);
end.[/CPP][/CPP]
Добавлено через 4 часа 46 минут
Помгите кто-небудь, ато я в переводах не фурычю

Добавлено через 3 часа 36 минут
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 "stdafx.h"
#include <stdio.h>
 
char sn,s;
int l,k,kod;
float v,p;
 
printf("string: \n");
l=length(s);
p=1; k=1;
for sn='';
  while (s[k]>='0')&&(s[k]<='9')&&(k<=l) do
  {
    sn=sn+s[k];
    k=k+1;
  }
   if sn<>'' ;
   {
    val(sn,v,kod);
    p=p*v;
   }
   k=k+1;
   until k>l;
   printf(" p= : \n");
}
Вот так получилось у меня

Добавлено через 40 секунд
но ошибки ещё остаются, помогите доиспровлять, буду признателен

Добавлено через 10 часов 16 минут
и объясните как перевести val на С++
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2012, 09:14     Перевод программы на С++ с Паскаля
Посмотрите здесь:

Перевод программы на С++ с Паскаля - C++
Здравствуйте. Имеется следующая задача. Для двух заданных матриц A(n,n) и B(n,n) проверить, можно ли получить вторую из первой...

Перевод программы на С++ с Паскаля - C++
var s: string; i: byte; begin readln(s); i := 1; // избавляемся от пробелов спереди while s = ' ' do...

перевод программы из Паскаля в С++ - C++
var a,b,c:integer; begin read(a,b,c); writeln(a,'+',b,'+',c,'=',a+b+c); writeln(a,'*',b,'*',c,'=',a*b*c); ...

Перевод программы с Паскаля на C++ - C++
program LABYRINTH; {BACKTRACK1, i.e. depth-first, no infinite cycle} const M = 7; N = 7; {Dimensions} var LAB : array of integer;...

Перевод из Паскаля в С++ - C++
const RusLit = ; EngLit = ; var Str: string; procedure StringClear(var Str: string); var ResStr: string; i:...

Перевод из Паскаля в C++ - C++
Пожалуйста помогите перевести одну функцию из Паскаля в C++. Буду очень признательна, так как очень плохо знаю Паскаль, а C++ тоже не очень...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Минич
66 / 66 / 3
Регистрация: 26.11.2010
Сообщений: 123
10.01.2012, 15:33     Перевод программы на С++ с Паскаля #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
30
31
#include <iostream>
#include <string>
 
using namespace std;
 
int main(void)
{
    string str,s;
    cout << "Введите строку" << endl;
    getline(cin,str);
 
    int l = str.length(), k = 1, kod;
    double p = 1., v;
    do {
        s = "";
        while((s[k] >= '0') && (s[k] <= '9') && (k <= l))
        {
            s = s+s[k];
            k = k+1;
        }
        if (s != "")
        {
            val(s, v, kod); // а это процедура
            p = p*v;
        }
        k = k+1;
    } while(k > 1);
    cout << " p=" << p << endl;
 
    return 0;
}
voral
428 / 408 / 57
Регистрация: 16.03.2008
Сообщений: 2,021
10.01.2012, 15:36     Перевод программы на С++ с Паскаля #3
Цитата Сообщение от Минич Посмотреть сообщение
C
1
k = k+1;
Это ж не реигиозно.....

C++
1
 ++k;
Минич
66 / 66 / 3
Регистрация: 26.11.2010
Сообщений: 123
10.01.2012, 15:49     Перевод программы на С++ с Паскаля #4
Цитата Сообщение от voral Посмотреть сообщение
Это ж не реигиозно.....
Не будем раздувать дискуссию! я бы сейчас то же мог сказать, что так короче, вы правы, но почему использовали префиксный инкремент, а не постфиксный! Яйца те же, а компилятор преобразует в конце концов к k = k+1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2012, 16:29     Перевод программы на С++ с Паскаля
Еще ссылки по теме:

Перевод с Паскаля в С++ - C++
uses crt; function rec(n:integer):real; var z:integer; begin z:=1; if n=0 then begin z:=1; rec:=1 end

Перевод с паскаля на си - C++
Ребят помогите поджалуйста с переводом! const r=10; n=100; type mas=array of byte; var i,j,a:integer; ...

Перевод с Паскаля в С++ - C++
uses crt; type prm=record {прямая с полями, коэффициентами} a,b,c:real; end; tch=record {точка с полями,...

Перевод с Паскаля на С++ - C++
Помогите переделать с Паскаля на С++. 1)Вывести максимальное число из файла in.txt. Листинг: Program num23; uses crt; var...

Перевод с паскаля на С++ - C++
const BASE16 = 16; var HexValue : string; Ostatok: Integer; Chastnoe: Integer; begin HexValue := ''; write( 'Введите целое...

Перевод из Паскаля в С++ - C++
Нужно переделать задачу из Паскаля в С++Builder. Поможете? Вот само задание:Описать функцию PowerA234(A), вычисляющую вторую, третью и...


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

Или воспользуйтесь поиском по форуму:
voral
428 / 408 / 57
Регистрация: 16.03.2008
Сообщений: 2,021
10.01.2012, 16:29     Перевод программы на С++ с Паскаля #5
Цитата Сообщение от Минич Посмотреть сообщение
Не будем раздувать дискуссию! я бы сейчас то же мог сказать, что так короче, вы правы, но почему использовали префиксный инкремент, а не постфиксный! Яйца те же, а компилятор преобразует в конце концов к k = k+1
Ну можно и k++;
я ж назвал это более "религиозным", а не серьезным упущением. Префиксный потому как это моя привычка. Правда основанная на осознанном выборе (по результатам обсуждения на этом форуме)

Добавлено через 10 минут
Да. Главное: я не ради споров или "опускания" на это обратил внимание. (Код в целом даже не смотрел - это бросилось в глаза). Просто сталкивался с преподом не профильного учебного заведения. А он бы сказал, что то типа: "Даа.... Ну, в целом неплохо, неплохо..... Но у нас сишников принято вот эти две строки более коротким способом записывать...... поэтому все ж немного снижу оценку"
Yandex
Объявления
10.01.2012, 16:29     Перевод программы на С++ с Паскаля
Ответ Создать тему
Опции темы

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