Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MrGluck
Модератор
Эксперт CЭксперт С++
7492 / 4607 / 693
Регистрация: 29.11.2010
Сообщений: 12,606
#1

перевести с pascal в С++ - C++

11.04.2011, 17:29. Просмотров 680. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста написать аналогичную функцию, но на языке C++. (В паскале нифига не шарю)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Const
  MAX_X=80;
  MAX_Y=24;
Type
  Pole=array [1..MAX_X, 1..MAX_Y] of Boolean;
 
Function Sosedi (a: Pole ; x,y:integer):integer;
Var
Cnt:integer;
Begin
Cnt:=0;
If (x-1>0) and                          a[x-1,y] then Cnt:=Cnt+1;
If (x-1>0) and (y-1> 0) and             a[x-1,y-1] then Cnt:=Cnt+1;
    If (x-1>0) and (y+1<=MAX_Y) and     a[x-1,y+1] then Cnt:=Cnt+1;
    If (x+1<=MAX_X) and                     a[x+1,y] then Cnt:=Cnt+1;
    If (x+1<=MAX_X) and (y-1> 0) and    a[x+1,y-1] then Cnt:=Cnt+1;
    If (x+1<=MAX_X) and (y+1<=MAX_Y) and a[x+1,y+1] then Cnt:=Cnt+1;
    If (y-1> 0) and                           a[x,y-1] then Cnt:=Cnt+1;
    If (y+1<=MAX_Y) and                     a[x,y+1] then Cnt:=Cnt+1;
    Result:=Cnt;
End;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2011, 17:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос перевести с pascal в С++ (C++):

Перевести с Pascal на C++ - C++
Перевести с Pascal на C++ Var i,j,n : Longint; Fl : Boolean; Begin For n:=5 to 100 do Begin fl:=false;

Перевести с Pascal на C++ - C++
Здравствуйте! Помогите пожалуйста перевести вот эти программы с языка Pascal на C++ Сам я очень плохо знаю C++ поэтому был бы крайне...

Перевести с Pascal на C++ - C++
Всем привет) есть задачи: 2) Слова, содержащие сочетание ‘кот’, расположить в конце последовательности, сохраняя исходный порядок...

Перевести с Pascal на C++ - C++
Всем привет) есть задачи: 1) Поменять местами в каждом слове первую половину слова со второй. Есть решение этих задач, но нужно мне...

Перевести с pascal - C++
Помогите перевести программу с Паскаля на Си++ Program Negative; var a, b: arrayof String; i, j, n, m, answer: Integer; ...

Перевести с pascal на c++ - C++
Помогите тоже перевести из Pascal в с+ visual studio 6.0 Нашел тут похожую на свою задачу, хочу разобраться, но учу только с++ (( ...

3
Tyoma
51 / 51 / 8
Регистрация: 12.05.2010
Сообщений: 142
Завершенные тесты: 3
11.04.2011, 18:32 #2
Честно говоря не совсем понял программу но вот как я думаю:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const int MAX_X = 80, MAX_Y = 24;
 
int Sosedi(bool **a, int x, int y) {
   int Cnt = 0;
   if ((x-1 > 0) && a[x-1][y]) Cnt++;
   if ((x-1>0) && (y-1> 0) && a[x-1][y-1]) Cnt++;
   if ((x-1>0) && (y+1<=MAX_Y) &&  a[x-1][y+1]) Cnt++;
   if ((x+1<=MAX_X) && a[x+1][y]) Cnt++;
   if ((x+1<=MAX_X) && (y-1> 0) && a[x+1][y-1]) Cnt++;
   if ((x+1<=MAX_X)&& (y+1<=MAX_Y) && a[x+1][y+1]) Cnt++;
   if ((y-1 > 0) && a[x][y-1]) Cnt++;
   if((y+1 <= MAX_Y) && a[x][y+1]) Cnt++;
   return Cnt;
}
0
wolf174
5 / 5 / 1
Регистрация: 03.01.2011
Сообщений: 20
11.04.2011, 19:03 #3
Прошу прощение за мою безграмотсность но что значит ** в строке bool **a?
0
Tyoma
51 / 51 / 8
Регистрация: 12.05.2010
Сообщений: 142
Завершенные тесты: 3
11.04.2011, 20:54 #4
В качестве аргумента передается двумерный массив логического типа...а если быть точнее то это указатель на массив

PS ну в данном случае если не использовать динамическую память наверное можно было записать эту строку так:
C++
1
int Sosedi(bool a[MAX_X][MAX_Y], int x, int y)
0
11.04.2011, 20:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2011, 20:54
Привет! Вот еще темы с ответами:

Перевести с Pascal на C++ - C++
Здравствуйте! Помогите пожалуйста перевести вот эти программы с языка Pascal на C++ Сам я очень плохо знаю C++ поэтому был бы крайне...

Перевести из Pascal в C++ - C++
procedure RectPS(x1,x2,y1,y2: real); var p,s: real; begin begin P := (abs(x2-x1) + abs(y2-y1)) * 2; S := abs(x2-x1) *...

Перевести с Pascal на С++ - C++
Помогите пожалуйста Дано натуральное число n, переставить местами первую и последнию цифру местами uses crt; var...

Перевести с Pascal на C++ - C++
uses crt; var a,y:extended; i:longint; begin clrscr; write('a=');readln(a); if a&lt;1 then begin writeln('1'); ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru