Перейти к содержанию
Fire Monkey от А до Я
  • 0

Перевод кода из Delphi/Pascal в C/C++


Andrey Efimov

Вопрос

  • Модераторы

Народ, подсобите, пожалуйста. Брату задали на С/С++ написать прогу. Я написал на Delphi, а как на C++ такое написать не знаю (повод изучить ещё один язык :), но времени пока нет...)

 

Задание:

Задан одномерный массив X размер N.Каждый из элементов X заменить средним значением первых i элементов этого массива(задача текущего сглаживания).

 

Код (консольное приложение):

program Project1;
 
{$APPTYPE CONSOLE}
{$R *.res}
 
uses
  System.SysUtils;
 
var
  i, n: integer;
  s: real;
  x: array[1..100] of real;
begin
  try
    Write('n = ');
    ReadLn(n);
    
    s := 0;

    for i := 1 to n do
    Begin
      Write('x(', i, ') = ');
      Readln(x[i]);
      s := s + x[i];
      x[i] := s / i;
    end;
 
    Writeln;
 
    for i := 1 to n do
    begin
      WriteLn('|', x[i]:5:2, '|');
    end;

    ReadLn;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
Ссылка на комментарий

Рекомендуемые сообщения

  • 0
#pragma hdrstop
#pragma argsused


#include <conio.h>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{

	int i = 0;
	int n = 0;
	float s = 0;
	float x[100];

	cout << "enter the size of array - " ;
	cin >>n;
	cout << "size = " << n << endl;

	for(i = 1; i <= n; i++)
	{
		cout << "x<" << i << "> - ";
		cin >> x[i];
		s = s + x[i];
		x[i] = s / i;

	}

	cout << "\n--- result ---\n" << endl;

	cout.setf(std::ios::fixed);
	cout.precision(3);   // три знака после запятой, ибо WriteLn('|', x[i]:5:2, '|'); не совсем понимаю

	for(i = 1; i <= n; i++)
	{

		 cout << "x<" << i << "> = "<< x[i] << endl;

    }


	getch();
	return 0;
}

Доброго дня. Это не в коем случае не "идеальный" код, а просто перевод вашего, да и с консолью не совсем дружу))) Если нужно - оберну в проверку исключений, но сам почти никогда не пользуюсь - лучше лишний раз проверить данные при вводе, и сказать пытливому юзверю про ошибку, чем генерировать исключения))

 

Здесь без проверок, ибо у вас их также нет.

Изменено пользователем Gingercat
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...