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

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

Войти
Регистрация
Восстановить пароль
 
MrGluck
Модератор
Эксперт CЭксперт С++
6997 / 4168 / 594
Регистрация: 29.11.2010
Сообщений: 11,047
#1

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

11.04.2011, 17:29. Просмотров 664. Ответов 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;
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2011, 17:29     перевести с pascal в С++
Посмотрите здесь:

Перевести из Pascal в С++ - C++
Заранее благодарен var s, a, x :real;i,j, fac: integer; begin cls; readln(x); begin for j:=1 to 15 do fac:=fac*(j*2+1); ...

Перевести из Pascal на С++ - C++
условие: Данная целочисленные квадратная матрица. Вычислить: 1) сумму элементов в тех строках, которые не содержат отрицательных...

Перевести с pascal на с++ - C++
uses crt; var i_put,o_put:string; i,s_ch,n:byte; flag:boolean; Begin ClrScr; writeln('Vvedite stroku:'); ...

Перевести с Pascal на C++ - C++
Есть код на Паскале, хотел бы сам перевести его в С++, но подчистую забыл, что такое Паскаль. Помоги, люди добрые) procedure sort(var...

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

Перевести на C++ из Pascal - C++
Буду очень рад тому, кто переведет из Pascal на C++ :) procedure ChangeToInc(var st:string); var f:boolean; begin f:=true;...

Перевести с Pascal на С++ - C++
Нужно перевести начало, хотяб до процедур из Pascal на С++ Я застрял на пункте x:array of pp; и не могу понять, как это в С++ прописать...

Перевести с 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++
Ребят, помогите пожалуйста перевести программы на С++! :( Задача №1 (Схема горнера) program labblablabla; var x,s,k:real; ...

Перевести из Pascal на C++ - C++
Var n,p1,p2,i,k,j:integer; Begin write('Введите N: ');readln(n); For i:=n-1 downto 2 do Begin k:=0; For...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tyoma
51 / 51 / 8
Регистрация: 12.05.2010
Сообщений: 139
Завершенные тесты: 3
11.04.2011, 18:32     перевести с pascal в С++ #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;
}
wolf174
5 / 5 / 1
Регистрация: 03.01.2011
Сообщений: 20
11.04.2011, 19:03     перевести с pascal в С++ #3
Прошу прощение за мою безграмотсность но что значит ** в строке bool **a?
Tyoma
51 / 51 / 8
Регистрация: 12.05.2010
Сообщений: 139
Завершенные тесты: 3
11.04.2011, 20:54     перевести с pascal в С++ #4
В качестве аргумента передается двумерный массив логического типа...а если быть точнее то это указатель на массив

PS ну в данном случае если не использовать динамическую память наверное можно было записать эту строку так:
C++
1
int Sosedi(bool a[MAX_X][MAX_Y], int x, int y)
Yandex
Объявления
11.04.2011, 20:54     перевести с pascal в С++
Ответ Создать тему
Опции темы

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