IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> [Java] Окружения элемента в массиве
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 57
Пол: Мужской

Репутация: -  0  +


Утро Доброе!
Помогите Пожалуйста переписать программу с Pascal на Java:
function Min(a,b: integer): integer;
begin
if a<b then Min:= a else Min:= b
end;

function Max(a,b: integer): integer;
begin
if a>b then Max:= a else Max:= b
end;


const
n= 30;
m= 20;

var
a: array [1..n,1..m] of integer;
i,j,k,l,p,q: integer;
Ok: boolean;

begin
Randomize;
for i:=1 to n do for j:=1 to m do a[i,j]:= Random(100);
for i:=1 to n do begin
for j:=1 to m do Write(a[i,j]:3);
WriteLn
end;

l:=0;
for i:=3 to n-2 do for j:=3 to m-2 do begin
Ok:= true;
k:= 1;
for p:= Max(i-k,1) to Min(i+k,n) do
for q:= Max(j-k,1) to Min(j+k,m) do
if (Abs(i-p)=k) or (Abs(j-q)=k) then Ok:= Ok and (a[i,j]>a[p,q]);
k:= 2;
for p:= Max(i-k,1) to Min(i+k,n) do
for q:= Max(j-k,1) to Min(j+k,m) do
if (Abs(i-p)=k) or (Abs(j-q)=k) then Ok:= Ok and (a[i,j]<a[p,q]);
if Ok then Inc(l)
end;

WriteLn('found ',l,' of wanted elements');
ReadLn
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Ну вот, ошибок не выдается, работает:


import java.io.IOException;
import java.util.Random;

public class Matrix01 {
public static void main(String[] args) throws Exception {
Matrix mx = new Matrix();
mx.printMatrix();
System.out.println("found " + mx.Action() + " of wanted elements");
}
}

class Matrix {
int [][] a;
int n;
int m;

public Matrix() throws IOException {

n = 30;
m = 20;
a = new int[n][m];

Random rnd = new Random ();

for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
a[i][j] = rnd.nextInt(100);
} // for j
} // for i
} // constructor

int Action() {
int l = 0;
for(int i = 3; i <= n-2; i++)
for(int j = 3; j <= m - 2; j++) {
Boolean Ok = true;
int k = 1;
for(int p = Math.max(i-k, 1); p <= Math.min(i+k, n); p++)
for(int q = Math.max(j-k,1); q <= Math.min(j+k, m); q++)
if( (Math.abs(i-p)==k) || (Math.abs(j-q)==k) ) {
Ok = (Ok ? (a[i-1][j-1] > a[p-1][q-1]) : Ok);
}
k = 2;
for(int p = Math.max(i-k, 1); p <= Math.min(i+k, n); p++)
for(int q = Math.max(j-k, 1); q <= Math.min(j+k, m); q++)
if( (Math.abs(i-p)==k) || (Math.abs(j-q)==k) ) {
Ok = (Ok ? (a[i-1][j-1] > a[p-1][q-1]) : Ok);
}
if(Ok) l += 1;
}
return l;
}


void printMatrix() throws IOException {

for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
System.out.print(" " + a[i][j]);
} //for j
System.out.println();
} //for i
System.out.println();
} // printMatrix
}

Помогло тебе это? Результат-то всегда НОЛЬ.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Merhaba   [Java] Окружения элемента в массиве   20.05.2011 10:27
IUnknown   Код: import java.util.Random; public class Matrix…   20.05.2011 16:41
Lapp   Код: ... System.out.println("found 0 of want…   21.05.2011 13:32
Merhaba   :))) Помогите Пожалуйста адаптировать программу …   22.05.2011 13:10
IUnknown   Ну вот, ошибок не выдается, работает: import jav…   22.05.2011 13:16
Merhaba   Ну вот, ошибок не выдается, работает: import ja…   22.05.2011 23:34
Lapp   Скажите Пожалуйста, а этот код считает окружения д…   23.05.2011 14:08
Merhaba   Ну вот, ошибок не выдается, работает: [code=cpp]…   24.05.2011 1:40
Lapp   Я переделал код, Если ты переделал код - то показы…   26.05.2011 5:29
Krjuger   Молодой человек,вы уже должны были понять,что над …   22.05.2011 18:15
IUnknown   Я бы попросил не употреблять по отношению ко мне э…   22.05.2011 18:42
Krjuger   Просто не понятно,что топикстартер делает...Сначал…   22.05.2011 20:42
TarasBer   > А может Min ,Max это действительно массивы,но…   22.05.2011 23:08
IUnknown   :unsure: Там это... Похоже, Copy+Paste принес св…   26.05.2011 12:31


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 2.05.2024 19:33
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name