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

Сделать с кода Pascal код C++ - C++

Восстановить пароль Регистрация
 
megabobik
 Аватар для megabobik
0 / 0 / 0
Регистрация: 15.01.2010
Сообщений: 45
10.06.2010, 07:58     Сделать с кода Pascal код C++ #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
program Lab6;
uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of integer;
    n,i,j,k,imx:byte;
    mx:integer;
 
procedure Init;
begin
 randomize;
 repeat
  write('Size of matrix=');
  readln(n);
 until n in [1..nmax];
 writeln('Input matrix:');
 for i:=1 to n do
 begin
   for j:=1 to n do
    begin
     a[i,j]:=random(40)+10;
     write(a[i,j]:4);
    end;
   writeln;
 end;
writeln;
end;*/
/*procedure Bowser;
begin
for j:=1 to n do
 begin
  mx:=a[1,j];
  imx:=1;
  for i:=1 to n do
  if a[i,j]>mx then
   begin
    mx:=a[i,j];             {находим максимальный в столбце}
    imx:=i;             {номер строки с ним}
   end;
  for k:=1 to n do
  if (k<>j)then a[imx,k]:=0;        {обнуляем строку кроме макс.}
 end;
writeln;
end;
 
procedure output;
begin
writeln('Matrix of optimal productivity:');
for i:=1 to n do
 begin
  for j:=1 to n do
  write(a[i,j]:4);
  writeln;
 end;
writeln;
writeln('Distribution of workers on machines: ');
for i:=1 to n do
 begin
  write('Worker ',i:2,' on tool ');
  for j:=1 to n do
  if a[i,j]>0 then writeln(j:2);
 end;
readln
end;
 
begin
 clrscr;
  writeln('Condition problem:');
 writeln('N different machines together in assembly line.');
 writeln('There are N workers.We have matrix C[N][N],');
 writeln('where C[i][j] the performance of i-th worker in the j-th machine.');
 writeln('Determine which machine each worker should work for maximum productivity');
  Init;
 Bowser;
 output;
end.
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
#include "stdlib.h"
#include "conio.h"
#include "stdio.h"
#include "math.h"
#include "time.h"
#include "iostream"
 
using namespace std;
int const nmax=10;
int A[80],mx,imx,i;
float n,j,k;
 
void bowser(int A[80])
{
    for (j=1;j<n;j++)
    {
        mx==A[1,j];
        imx=1;
        for (i=1;i<n;i++)
        if A[i,j]>mx;
        {
            mx==A[i,j];                 //находим максимальный в столбце}
            imx=i;                      //номер строки с ним}
        }
        for (k=1;k<n;k++)
        {
            if (k<>j) A[imx,k]==0;      //обнуляем строку кроме макс.}
        }
    }
}
 
void output(int A[80])
{
    ("Matrix of optimal productivity:");
    for (i=1;j<n;i++)
    {
        for (j=1;j<n;j++)
            printf_s("%4d",A[i,j]);
    }
    puts("Distribution of workers on machines: ");
    for (i=1;i<n;i++)
    {
    printf_s("Worker %3d on tool",i);
    for (j=1;j<n;j++)
    if A[i,j]>0 printf("%4d",j);
    }
}
 
void main()
{
 
    puts("<=====================>");
    puts("Condition problem:");
    puts("N different machines together in assembly line.");
    puts("There are N workers.We have matrix C[N][N],");
    puts("where C[i][j] the performance of i-th worker in the j-th machine.");
    puts("Determine which machine each worker should work for maximum productivity\n");
    cout << "Size of matrix :"<<endl;
    cin >>n;
    for (i=1;i<n;n++)
        {
            for (j=1;j<n;j++)
            {
                srand(time(NULL));
                A[i]==rand()%10+1;
                printf("%3d",A[i,j]);
            }
        }
    bowser(A);
    output(A);
}
Добавлено через 9 часов 4 минуты
Ну ребят , помогите тут немного нужно :
Си ругается на запись A[i,j].
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2010, 07:58     Сделать с кода Pascal код C++
Посмотрите здесь:

C++ Из кода Pascal в код C++
C++ Перевод кода из Pascal в С++
C++ Перевод кода с Pascal
Перевод кода с Pascal C++
C++ Перевод кода с Pascal
Перевод кода с Pascal C++
C++ Перевод кода с Pascal
Перевод кода из pascal в c++ C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cibertronic
 Аватар для cibertronic
255 / 142 / 13
Регистрация: 27.12.2009
Сообщений: 893
10.06.2010, 08:03     Сделать с кода Pascal код C++ #2
у тебя потомучто массив указа одномерный, и так
Цитата Сообщение от megabobik Посмотреть сообщение
A[i,j].
нельзя указывать двумерный массив!! нужно A[i][j] для двумерного
jonson
 Аватар для jonson
231 / 204 / 61
Регистрация: 18.03.2010
Сообщений: 749
10.06.2010, 22:44     Сделать с кода Pascal код C++ #3
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
94
//program Lab6;
 
#include "stdlib.h"
#include "conio.h"
#include "stdio.h"
#include "math.h"
#include "time.h"
#include "iostream.h"
 
 
const int nmax=20;
int a [nmax][nmax];
    short n,i,j,k,imx ;
    int mx ;
 
void Init()
{
 
    srand( time(NULL) );
    do
    {
        cout << " Size of matrix= ";
        cin >> n;
    }while (n <= 1 || n > nmax ) ;
    
    cout << " Input matrix: \n";
    
    for( i=0; i < n; i++)
    {
        for( j=0;  j < n; j++)
        {
            a[i][j] = rand()%(40)+10;
            cout << a[i][j] << "  ";
        }
        cout << endl;
    }
    cout << endl;
}
 
 
 
void Bowser()
{
    for( j = 0; j<n; j++)
    {
        mx = a[1][j];
        imx = 1;
        for( i=0; i<n; i++)
           if( a[i][j] > mx)
           {
                mx = a[i][j];            //находим максимальный в столбце}
                imx = i+1;              //номер строки с ним}
           }
    for (k = 1; k<n; k++)
        if(k != j)
           a[imx][k] = 0;      //обнуляем строку кроме макс.}
    }
    cout << endl;
}
 
void output()
{
    cout << "Matrix of optimal productivity:\n\n";
    for( i=1; i<n; i++)
    {
        for( j=1; j<n; j++)
            cout << a[i][j] << "  ";
        cout << endl;
    }
    cout << endl;
    cout << " Distribution of workers on machines: \n ";
    for (i=1; i<n; i++) 
    {
        cout << " Worker " << i << "  on tool ";
        for( j=1; j<n; j++)
            if (a [i][j] > 0 ) 
                cout << endl << j << "  ";
    }
    cout << endl;
}
 
 
void main()
{
    system("cls");
    cout << " Condition problem: " ;
    cout << " \n different machines together in assembly line." ;
    cout << " There are \n workers.We have matrix C[N][N], " ;
    cout << " where C[i][j] the performance of i-th worker in the j-th machine. ";
    cout << " Determine which machine each worker should work for maximum productivity ";
    Init();
    Bowser();
    output();
}
не знаю, может где-то что-то и не так, но в принципе работать должно (я не пробовал)
Yandex
Объявления
10.06.2010, 22:44     Сделать с кода Pascal код C++
Ответ Создать тему
Опции темы

Текущее время: 15:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru