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

Конверт Pascal в C++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ перегруженные функции и операторы http://www.cyberforum.ru/cpp-beginners/thread844770.html
вопрос может быть тривиальный, но все же: как влияет количество вариантов перегруженных функций и операторов на скорости обработки? то есть есть ли разница в скорости выполнения между class Cl{ bool First(int val) {return val > 5;}; Cl p; for(int i=0; i< 1000; i++) p.First(i);}; и
C++ День рождения Заданы день и месяц рождения, а также текущие день, месяц и год. Определить, сколько дней осталось до дня рождения. Технические условия Входные данные В первой строке находятся разделённые пробелами день и месяц рождения, во второй - разделённые пробелами текущие день, месяц и год. Год от 1920 до 3000, месяц - от 1 до 12, день - от 1 до числа дней в месяце. http://www.cyberforum.ru/cpp-beginners/thread844766.html
Удалить поддерево C++
Здравствуйте, подскажите, пожалуйста, как удалить поддерево, в котором с минимальное отношение (число листьев / число не листьев). Как посчитать это отношение?
C++ Вычитание разреженных матриц
Здравствуйте, помогите разобраться с задачей. Даны две разреженные структурно симметричные матрицы. Из одной матрицы вычесть другую и результат занести в разреженную матрицу CSS. Я не совсем понимаю, как работать с такими матрицами, знаю, что должно быть 3 массива, но как потом работать с элементами?
C++ Не учитывать регистр http://www.cyberforum.ru/cpp-beginners/thread844751.html
Надо чтобы программа считала текст из файла и подсчитала сколько раз встречаются разные буквы не учитывая регистра, т.е А=а б=Б. Я понимаю что можно сделать условия для каждой буквы, но как сделать это короче?
C++ Разница между одинарными ' ' и двойными скобками " " Доброго времени суток! В чем разница между одинарными ' ' и двойными скобками " "? Например char ch; while(ch != "\n") { ... } подробнее

Показать сообщение отдельно
stompbox
0 / 0 / 0
Регистрация: 16.12.2012
Сообщений: 27
21.04.2013, 23:52     Конверт Pascal в C++
Всем добрый вечер!
Сразу к делу. Требуется перевести исходный код программы с Pascal на C++

Сам код:
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
    n,l,i,j,x,jmn:integer;
    f:boolean;
begin
clrscr;
randomize;
repeat
write('Размер массива до ',nmax,' l=');
readln(l);
until l in [1..nmax];
{создаем массив из разных чисел}
writeln('Исходный массив:');
a[1]:=random(nmax+1);
write(a[1]:4);
n:=1;
for i:=2 to l do
 begin
  repeat
   f:=false;
   x:=random(nmax+1);
   for j:=1 to n do
   if a[j]=x then f:=true;
  until f=false;
  a[i]:=x;
  n:=n+1;
  write(a[i]:4);
 end;
writeln;
repeat
write('Сколько наименьших удалить от 1 до ',l,' n=');
readln(n);
until n in [1..l];
if n=l then
 begin
  write('Все элементы удалены');
  readln;
  exit
 end;
{удаляем наименьшие}
for i:=1 to n do
 begin
  jmn:=1;
  for j:=1 to l do
  if a[j]<a[jmn] then jmn:=j;
  for j:=jmn to l-1 do
  a[j]:=a[j+1];
  l:=l-1;
 end;
writeln('Удаление ',n,' минимальных:');
for i:=1 to l do
write(a[i]:4);
readln
end.
Вообщем, кто знает, но кому лень и т.д., то попрошу перевести только этот код:
Pascal
1
2
3
4
5
6
7
8
9
for i:=1 to n do
 begin
  jmn:=1;
  for j:=1 to l do
  if a[j]<a[jmn] then jmn:=j;
  for j:=jmn to l-1 do
  a[j]:=a[j+1];
  l:=l-1;
 end;
В C++ пока не силен. Поэтому и столкнулся с данной проблемой.
Заранее всем благодарен...

Добавлено через 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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
 int main()
 {
    setlocale(LC_ALL, "");
           int n,j,jmn,i,z; // здесь есть некоторые переменные, которые и вовсе не нужны
    cout << "Введите размер массива: ";
    cin >> n;
    int* a;
    a = new int[n];
    cout << "      Исходный массив: " << endl;
    for (int i = 0; i < n; i++) {
        a[i] = 1 + rand() % 100;
           cout << a[i] << " ";
 
    }
    cout << endl;
    cout << "Сколько наименьших элементов удалить (от 1 до " << n << " ): ";
    cin >> z;
    cout << "Полученный массив: " << endl;
    // здесь нужно вставить переведённый код с Pascal :)
    cout << endl;
    system("pause");
    return 0;
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru