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

Нужно перевести из PASCAL В VISUAL C++. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Напишите рекурсивную функцию для вычисления функции Эйлера http://www.cyberforum.ru/cpp-beginners/thread535109.html
Доброе утро!! Помогите пожалуйста решиь две задачи: Напишите рекурсивную функцию для вычисления функции Эйлера. Для данного n функция должна определить делитель числа a. Если a < 1 < n, то найти b такое что n=ab и вычислить результат в виде φ(n)=φ(a)*φ(b). Если делителя a не существует (т.е. n – простое число), то результат вычислять по формуле φ(n)=n-1 Напишите рекурсивную функцию,...
C++ Добавить К строк в начало матрицы Сформировать динамический двумерный массив, заполнить его случайными числами и вывести на печать.Добавить К строк в начало матрицы. Я первую часть задания сделал, а вот дальше не получается... #include <conio.h> #include <iostream.h> #include <stdlib.h> int main() { http://www.cyberforum.ru/cpp-beginners/thread535069.html
Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый переписать все элементы данного массива с четными номерами, во второ C++
Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый переписать все элементы данного массива с четными номерами, во втором-с нечетными. Найти разницу между наибольшими значениями полученных массивов. Создать функции для удаления элементов и для определения наибольшего значения в массиве. Помогите пожалуйста написать программу в с++. Буду очень благодарна
C++ Builder Смоделировать работу алгоритма FCFS
Смоделировать работу алгоритма FCFS Средняя длинна заявки R=10 Количество процессоров P=2 собственно вот. Логика моя была такая - есть класс процессоров, для них есть два пункта - состояние (сколько тактов еще будет обрабатываться текущий процесс) и, собсвенно номер текущего процесса. В цикле проверяем сначала занятость процессора, если он не занят то ищем свободный процесс. Процессы...
C++ Счастливый билет (сумма первых трех цифр равна сумме последних трех) http://www.cyberforum.ru/cpp-beginners/thread535063.html
Всем привет ! Нужно Подсчитать количество счастливых билетов, у которых сумма первых трех цифр равна N. Счастливым билетом называется билет с шестизначным номером у которого сумма первых трех цифр равна сумме последних трех. #include <iostream> #include <string> #include <sstream>
C++ В программе создать главное и контекстное меню. Вывести справку о разработчике Вывести на экран все трехзначные числа, которые начинаются и заканчиваются на одну и ту же цифру; подробнее

Показать сообщение отдельно
Химмельсдорф
1 / 1 / 0
Регистрация: 04.12.2011
Сообщений: 4
01.04.2012, 05:58     Нужно перевести из PASCAL В VISUAL C++.
Задача Дейкстра
Дан неориентированный граф.Для него вам необходимо найти кратчайшее расстояние от одной заданной вершины до другой.
Входные данные
В первой строке входного файла три числа: N,S,M и F (1<=N<=100;1<=S,F<=N), где N-кол-во вершин графа,M-кол-во рёбер,S-начальная вершина, а F-конечная. В следующих M строках заданы по 3 числа, номера вершин и расстояние между ними.
Выходные данные
Вывести искомое расстояние или -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
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
{$APPTYPE CONSOLE}
Const MaxN=100;
Big=MaxInt div  2;
Var N,Start<Finish,M,de:integer;
A:array[1..MaxN,1..MaxN] of integer;
D,p:array[0..MaxN] of integer;
Use:array[0..MaxN] of Boolean;
Procedure Print(v:integer);
Begin
If v>0 then Print(p[v]);
If v>0 then write(v,’’);
End;
Procedure deikstra(start:integer);
Var i,j,m:integer;
Begin
D[0]:=Big+1;
D[Start]:=0;
For i:=1 to N do Begin
m:=0
For j:=1 to N do
If (D[j]<D[m]) and not Use[J] Then m:=j;
Use[m]:=True;
For j:=1 to N do
If D[j]>A[m,j]+D[m] Then
Begin D[j]:=A[m,j]+D[m]; p[j]=m end;
End;
end;
Procedure Init;
Var i,j,k:integer;
Begin
Assign(Input,’Input.txt); Reset(input);
Assign(Output,’output.txt);Rewrite(Output);
Read(N,M,Start,Finish);
For i:=1 to N do
Begin
For j:=1 to N do if i=j then A[I,j]:=0 else A[i,j]:=Big;
D[i]=Big;// массив крадчайших расстояний от стартовой вершины
//до вершин с номером i
End;
For k:=1 to M do begin
Read(i,j,de);
End;
end;
begin
Init;
Deikstra(start);
If D[Finish]=Big Then Write(-1)
Else
Begin
Writeln(D[Finish]);
Print(Finish);
End;
Close(Input);
Close(output);
End.
Задача2
//bfs breads-first search-ПОИСК ПЕРВОГО В ШИРИНУ
{@APPTYPE CONSOLE}
Type matr=Array[1..20,1..20] of integer; vek=Array[0..20] of byte;
Var  Och,p,color:vek; j,k,X,Y:integer; A:matr; m,n:integer;
Ok:Boolean;
Procedure Init;
Var I,j,l:integer;
Begin
Assign(Input,’Input.txt); Reset(input);
Assign(Output,’output.txt);Rewrite(Output);
Readln(n,m);
For l:=1 to m do
Begin readln(i,j);
A[I,j]:=1; A[j,i]=1;
End;
Readln(X,Y);
Close(input);
End;
Procedure bfs(v:integer);
Var I,j,L:byte;
Begin
For j:=1 to n do begin p[j]:=0; color[i]:=0 end;
i=1; k=1;
color[v]:=1; Och[k]:=v;
Repeat;
L:=Och[i];
For j:=1 to n do if (A[L,j]<>0) and (color[j]=0) then
Begin
Color[j]:=1; p[j]:=L; k:=k+1; Och[k]:=j;
End;
i:=i+1;
Until i>k;
End;
Procedure Print(v:integer);
Begin
If v>0 then Print(p[v]);
If v>0 then write(v,’’);
Enf;
Begin
Init;
bfs(X);
Print(Y);
Writeln;
End.
Добавлено через 18 часов 55 минут
с 56строчки вторая задача.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru