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

Перевесть из Паскаля в С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ При удалении первого элемента из динамического списка присваивается плохой указатель http://www.cyberforum.ru/cpp-beginners/thread1050657.html
Проблема появляется только при удалении первого элемента. // Запись содержит марку автобуса, максимальную скорость, вместимость. // Удалить из списка записи с автобусами, вместимость которых ниже 25 пассажиров // и максимальной скоростью выше 120 км/ч. #include "stdafx.h" #include <iostream> using std::cin; using std::cout;
C++ Как лучше переделать программу чтобы отсутствовали глобальных переменных есть программа, как лучше переделать программу что бы отсутствовали глобальных переменных, т.е. чтобы все передавалось через параметры. прошу с комментариями. /* Igra v Kpestiki Noliki */ #include <stdio.h> #include <stdlib.h> char matrix; /* Igral'naya Doska */ char check(void); void init_matrix(void); void get_player_move(void); http://www.cyberforum.ru/cpp-beginners/thread1050653.html
C++ Программа работы с файлами. Информация о студентах.
Нужно создать программу, которая обрабатывала б базы данных, считывала информацию с файла, редактирвала эту информацию, удаляла часть инфы, и сохраняла обратно в файл, а так же поиск в базе по фамилии. В базе данных использовать информацию о студентах, а именно: ФИО, адресс, возраст и группу. Я сделал часть, где нужно считать с файла и поиск по фамилии. А вот остальное я пока не знаю как. Код...
C++ Найти все целые положительные числа a,b,c из промежутка
3) Найти все целые положительные числа a,b,c из промежутка (0,100) такие что a^3+b^2=c^2. P.S. в первой и второй задаче желателен вод с клавиатуры. Заранее благодарю.
C++ Задача про двумерный массив http://www.cyberforum.ru/cpp-beginners/thread1050641.html
Вот условие: Дана целая матрица размером (n*m) n, m <=10. Упорядочить (переставить) строки матрицы по возрастанию количества положительных элементов в одной строке. #include<stdio.h> #include<math.h> int main(){ int n,m,i,j,a,k, masO, l, z, b, c, v, masP; do { printf("Vvedite razmer matrici NxM<=10\n"); scanf("%d%d",&n,&m); } while((n>10)||(m>10)||(n<=0)||(m<=0)); for (i=0; i<n; i++)...
C++ Нужно объяснение кода про нахождение количества решений для латинского квадрата Я не могу понять код, который мне нужно будет уже послезавтра объяснить. Задача состоит в том, чтобы найти количество решений для латинского квадрата и вывести эти квадраты на экран: int Factorial(int n) {if (n<=1) return 1; else return n*Factorial(n-1); } const int N = 4; const int Nf = Factorial(N); struct strN { int mas_; подробнее

Показать сообщение отдельно
temik94
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 11
21.12.2013, 13:08     Перевесть из Паскаля в С++
Ребят,очень нужна ваша помощь. Есть программа,написанная в паскале,нужно переписать ее в С++. У самого не получается.

uses crt;
type mas=array[0..100] of integer;
procedure MergeSort(var m:mas;n:integer);
var
c:boolean;
i,i1,i2,n1,n2,j,k,tmp,len:integer;
b:mas;
begin
len:=1;
c:=true;
while len<n do
begin
if c then
begin
i:=0;
while i+len<=n do
begin
i1:=i+1;
i2:=i+len+1;
n1:=i+len;
n2:=i+2*len;
if n2>n then
begin
n2:=n;
end;
while(i1<=n1)or(i2<=n2)do
begin
if i1>n1 then
begin
while i2<=n2 do
begin
i:=i+1;
b[i-1]:=m[i2-1];
i2:=i2+1;
end;
end
else
begin
if i2>n2 then
begin
while i1<=n1 do
begin
i:=i+1;
b[i-1]:=m[i1-1];
i1:=i1+1;
end;
end
else
begin
if m[i1-1]>m[i2-1] then
begin
i:=i+1;
b[i-1]:=m[i2-1];
i2:=i2+1;
end
else
begin
i:=i+1;
b[i-1]:=m[i1-1];
i1:=i1+1;
end;
end;
end;
end;
end;
i:=i+1;
while i<=n do
begin
b[i-1]:=m[i-1];
i:=i+1;
end;
end
else
begin
i:=0;
while i+len<=n do
begin
i1:=i+1;
i2:=i+len+1;
n1:=i+len;
n2:=i+2*len;
if n2>n then
begin
n2:=n;
end;
while (i1<=n1)or(i2<=n2)do
begin
if i1>n1 then
begin
while i2<=n2 do
begin
i:=i+1;
m[i-1]:=b[i2-1];
i2:=i2+1;
end;
end
else
begin
if i2>n2 then
begin
while i1<=n1 do
begin
i:=i+1;
m[i-1]:=b[i1-1];
i1:=i1+1;
end;
end
else
begin
if b[i1-1]>b[i2-1] then
begin
i:=i+1;
m[i-1]:=b[i2-1];
i2:=i2+1;
end
else
begin
i:=i+1;
m[i-1]:=b[i1-1];
i1:=i1+1;
end;
end;
end;
end;
end;
i:=i+1;
while i<=n do
begin
m[i-1]:=b[i-1];
i:=i+1;
end;
end;
len:=2*len;
c:= not c;
end;
if not c then
begin
i:=1;
repeat
m[i-1]:=b[i-1];
i:=i+1;
until not(i<=n);
end;
end;
var a:mas;
n,i:integer;
begin
clrscr;
randomize;
write('n=');readln(n);
writeln('Исходный массив:');
for i:=0 to n-1 do
begin
a[i]:=random(20);
write(a[i],' ');
end;
writeln;
MergeSort(a,n);
writeln('Сортировка:');
for i:=0 to n-1 do
write(a[i],' ');
readln
end.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru