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

C Pascal'я на С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ графика в борланде http://www.cyberforum.ru/cpp-beginners/thread50671.html
Народ, помогите изменить прогу...надо, чтоб после запуска фигуры двигались и изменяли цвет не автоматически, а с помощбю клавиш, то есть пользователь должен ими управлять с клавиатуры..вот мой код...Заранее спасибо) #include <iostream.h> #include <conio.h> #include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <dos.h> #include <iomanip.h> #include <math.h> class TShape {
C++ case struct Здравствуйте! Подскажите как аналогичную структуру сделать в С++? type MainTyp=record case integer of 1:(I:integer); 2:(w1,w2:word); 3:(b1,b2,b3,b4:byte); end; http://www.cyberforum.ru/cpp-beginners/thread50670.html
C++ прога на вычисление выражение на С++
Здраствуйте, можете помочь написать прогу на C++ которая бы вычесляла выражение (x-(y-z)/a*d при условии что a*d>50000.
Команды Borland C++ по разделам их назначения C++
Парни помогите. МНе задали задание найти команды Borland C++ по разделам их назначения. Помогите плиз или дайте ссылку на команды, то найти не могу. Заранее спасибо.
C++ [C/C++] Можно ли выразить порядковый номер элемента массива через индексы? http://www.cyberforum.ru/cpp-beginners/thread50660.html
Допустим,есть двумерный массив a, и необходимо получить доступ к элементу a;можно ли как-то узнать его порядковый номер в массиве,полагая,что если бы массив был разложен в линейное множество,его строки следовали бы одна за другой,а элементы нумеровались как в обычном линейном множестве,начиная с нуля(или 1)и до количества элементов? Например: a = { { 1, 0, 1, 0, 8, 0}, { 1, 0, 1, 0, 5,...
C++ Проблему с двумерным динамическим массивов Написал программку. Считает правильно, но в конце выдаётся ошибка. Цель такая:В массив А(N,М) вставить одномерный массив В(N), расположив его перед последним столбцом, содержащим нулевой элемент. Если такого столбца не окажется, то вставить массив В(N) после последнего столбца. Ввод, вывод элементов двумерного массива и его обработку оформить в виде функций. #include <iostream.h> #include... подробнее

Показать сообщение отдельно
Sergeymd
 Аватар для Sergeymd
0 / 0 / 0
Регистрация: 13.09.2009
Сообщений: 45

C Pascal'я на С++ - C++

13.09.2009, 16:00. Просмотров 1869. Ответов 14
Метки (Все метки)

Помогите пожалуйсто Pascal не изучал совсем необходимо переделать прогу на c++, как смог сделал но чето она не фурычит.

вот есть даже блок схема:http://img7.imageshost.ru/imgs/09091...8a23/26032.jpg

Цель проги:Построение отображений и транзитивных замыканий в графе

Обозначения:
X - номер вершины для которой ищется транзитивное замыкание;
T(N) - массив транзитивного замыкания;
С - счетчик добавления вершин в транзитивное замыкание ;
P - признак: P = 1 при формировании Т+ , P = 0 при формировании Т-.
A-матрица смежности

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
USES CRT;
label n1,n2;
var
A : array[1..15,1..15]of integer;  
b, t : array[1..15]of integer;
n,l,x,c,i,j : integer;
Begin
clrscr;
writeln('введите количество вершин графа n ');
read(n);
writeln('введите матрицу смежности ');
for i:=1 to n do
for j:=1 to n do read(A [ i, j ] );
writeln('введите номер вершины графа х ');
read(x);
l:=1;
t [ x ]:=l;
n1: writeln ('Прямое отображение ‘,l,’-ого порядка ');
c:=0;
for i:=1 to n do
begin
         if t [ i ]=l then
     begin
          for j:=1 to n do
        begin
             if A[J,I ]=1 then
          begin
              writeln (j,' ');
              if t [ j ]=0 then
                  begin t [ j ]:=l+1; c:=c+1; 
                  end;
          end;
      end; 
   end; 
end;
if c<>0 then begin l:=l+1; goto n1; end;
l:=1; b[ x ]:=l;
n2: writeln ('Обратное отображение ‘ ,l,’-ого порядка’);
c:=0;
for i:=1 to n do
begin
if b[ i ]=1 then
begin
for j:=1 to n do
begin
if A [ i, j ]=1 then begin write (' ',j);
if b[ j ]=0 then begin
b[ j ]:=l+1; c:=c+1;
end; end;
end;
end;
if c<>0 then begin l:=l+1; goto n2; end;
writeln(‘Транзитивные замыкания:’);
for i:=1 to n do
begin
for j:=1 to n do
write (‘ ‘,A[ i,j ] );
writeln (‘ ‘,t[ i ] );
end;
writeln (‘ ‘);
for i:=1 to n do write (‘ ‘,b[i] );
end.
Вот че получилось правда без ввода кол-ва вершин их я указал в n=4; и без ввода матрицы смежности она у меня в m[4][4]
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
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
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <iostream>
using namespace std;
 
 
int main(void)
{
   int n = 4;
   int x;//nomer versini
  int l=1,i,j,c;
  
   int m[4][4]={0, 1, 1, 1,
                1, 0, 1, 1,
                1, 1, 0, 1,
                1, 1, 1, 0};
  int t[50];
  int b[50];
 
 
  cout<<"vvedite nom vershini"<<endl;
  cin>>x;
 
 t[x]=l;
  n1:cout<<"premoe otobraj poreaddka "<<l<<endl;
  c=0;
 
 for(i=1;i<=n;i++)
 {
   if(t[i]==l)
   {
     for(j=1;j<=n;j++)
     {
       if(m[j][i]==1)
        {
         cout<<j<<endl;
 
          if(t[j]==0)
           {
           t[j]=l+1;c=c+1;
           }
         }
       }
     }
 }
 if(c!=0)
 {
  l=l+1; goto n1;
 }
 l=1;
 b[x]=l;
 n2:cout<<"obratnoe otobraj poreaddka "<<l<<endl;
 c=0;
  for(i=1;i<=n;i++)
  {
    if (b[i]==1)
    { 
      for(j=1;j<=n;n++)
      {
        if (m[i][j]==1)
        {
         cout<<j<<endl;
         if(b[j]==0)
          {
            b[j]=l+1; c=c+1;
          }
       
         }
        }
     }
  }
  
 if(c!=0)
  {
   l=l+1; goto n2;
  }
 
  cout<<"Tranzit zamikania"<<endl;
 
 for(i=0;i<=n;i++)
 { 
  for(j=1;j<=n;j++)
   cout<<m[i][j]<<endl;
   cout<<t[i]<<endl;
   
 }
 for(i=1;i<=n;i++)
  cout<<b[i]<<endl;
 
 getch();
 return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru