package ch;
import java.io.*;
public class pro {
int s,sx,datanumber;
String[] data=new String[5000];
String[][] v1=new String[50][50];
String[][] v2=new String[50][50];
String[][] v3=new String[50][50];
String[][] point=new String[100][4];
String[][] pointx=new String[100][4];
int number;
int[] ys=new int[101];
int[] xs=new int[101];
int[] y=new int[101];
int[] x=new int[101];
int[] dx=new int[101];
int[] dy=new int[101];
int[][] v=new int[50][50];
int[] rank=new int[50];
public static void main(String[] args) {
pro t=new pro();
}
pro(){
File f=new File("com");
String[] ff=f.list();
int tr;
for(tr=0;tr<ff.length;tr++){
catchdata sub=new catchdata();
sub.makedata("com/"+ff[tr]);
number=sub.number;
xs=sub.xs;
ys=sub.ys;
point=sub.point;
catchpic sub2=new catchpic();
sub2.makedata("data/"+ff[tr]);
v=sub2.v;
int n=0;
for(s=0;s<10;s++){
int tx=0;
for(sx=1;sx<number+1;sx++){
if(ys[sx]==s)tx=tx+1;
if(ys[sx]==s)pointx[tx][1]=point[sx][1];
if(ys[sx]==s)pointx[tx][2]=point[sx][2];
if(ys[sx]==s)pointx[tx][3]=point[sx][3];
}
int m=tx;
ranking(s);
int m1=rank[m];
int maxu=v[s][m1];
if(m==0)maxu=999999;
for(sx=0;sx<10;sx++){
if(v[s][sx]>maxu-1)n=n+1;
if(v[s][sx]>maxu-1)dx[n]=sx;
if(v[s][sx]>maxu-1)dy[n]=s;
}
}
writexml("gdata/"+ff[tr]);
}
}
void writexml(String file){
int s,sx;
try{
PrintWriter pw = new PrintWriter (new BufferedWriter(new FileWriter(file)));
for(s=1;s<number+1;s++){
pw.print("<x>");
pw.print(dx[s]);
pw.print("</x>");
pw.print("<y>");
pw.print(dy[s]);
pw.print("</y>");
pw.print("<p1>");
pw.print(point[s][1]);
pw.print("</p1>");
pw.print("<p2>");
pw.print(point[s][2]);
pw.print("</p2>");
pw.print("<p3>");
pw.print(point[s][3]);
pw.println("</p3>");
}
System.out.println("ファイルに書きこみました。");
pw.close();
} catch(IOException ep){ System.out.println("入出力エラーです。"); }
}
void ranking(int k){
int r,s,sx,h;
int[] ch=new int[80000];
double maxu;
for (r = 1; r < 11; r++) {
sx = 0;
maxu = 0;
for (s = 0; s <10; s++) {
h = 0;
if (v[k][s] > maxu) h = h + 1;
if (ch[s] < 50) h = h + 1;
if (h == 2) maxu = v[k][s];
if (h == 2) sx = s;
}
rank[r] = sx;
ch[sx] = 100;
}
}
}
package ch;
import java.io.*;
public class catchdata {
int s,sx,datanumber;
String[] data=new String[5000];
String[][] v1=new String[50][50];
String[][] v2=new String[50][50];
String[][] v3=new String[50][50];
String[][] point=new String[100][4];
int number;
int[] ys=new int[101];
int[] xs=new int[101];
void makedata(String file){
readx(file);
for(s=0;s<10;s++){
for(sx=0;sx<10;sx++){
v1[s][sx]="△";
v2[s][sx]="△";
v3[s][sx]="△";
}
}
for(s=1;s<datanumber+1;s++){
int p1=data[s].indexOf("<x>");
int p2=data[s].indexOf("</x>");
String str=data[s].substring(p1+3,p2);
int x=num_int(str);
p1=data[s].indexOf("<y>");
p2=data[s].indexOf("</y>");
str=data[s].substring(p1+3,p2);
int y=num_int(str);
p1=data[s].indexOf("<v1>");
p2=data[s].indexOf("</v1>");
v1[y][x]=data[s].substring(p1+4,p2);
p1=data[s].indexOf("<v2>");
p2=data[s].indexOf("</v2>");
v2[y][x]=data[s].substring(p1+4,p2);
p1=data[s].indexOf("<v3>");
p2=data[s].indexOf("</v3>");
v3[y][x]=data[s].substring(p1+4,p2);
}
int tx=0;
for(s=0;s<10;s++){
for(sx=0;sx<10;sx++){
int h=0;
if(v1[s][sx].indexOf("△")>-1)h=100;
if(v1[s][sx].indexOf("null")>-1)h=100;
if(v2[s][sx].indexOf("null")>-1)h=100;
if(v3[s][sx].indexOf("null")>-1)h=100;
if(h<50)tx=tx+1;
if(h<50)point[tx][1]=v1[s][sx];
if(h<50)point[tx][2]=v2[s][sx];
if(h<50)point[tx][3]=v3[s][sx];
if(h<50)ys[tx]=s;
if(h<50)xs[tx]=sx;
}
}
number=tx;
}
int num_int(String str){
int nx;
nx=0;
try{
nx=Integer.parseInt(str);
}catch (Exception e) {}
return nx;
}
void readx(String file){
String str;
BufferedReader br;
int s;
s=0;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));
while((str = br.readLine()) != null) {
s=s+1;
data[s]=str;
}
br.close();
} catch (IOException e) {System.out.println(e);}
datanumber=s;
}
}
package ch;
import java.io.*;
public class catchpic {
int s,sx,datanumber;
String[] data=new String[5000];
int[][] v=new int[50][50];
void makedata(String file){
readx(file);
for(s=1;s<datanumber+1;s++){
int p1=data[s].indexOf("<x>");
int p2=data[s].indexOf("</x>");
String str=data[s].substring(p1+3,p2);
int x=num_int(str);
p1=data[s].indexOf("<y>");
p2=data[s].indexOf("</y>");
str=data[s].substring(p1+3,p2);
int y=num_int(str);
p1=data[s].indexOf("<point>");
p2=data[s].indexOf("</point>");
str=data[s].substring(p1,p2);
str=str.replace("<point>","");
v[y][x]=num_int(str);
}
}
int num_int(String str){
int nx;
nx=0;
try{
nx=Integer.parseInt(str);
}catch (Exception e) {}
return nx;
}
void readx(String file){
String str;
BufferedReader br;
int s;
s=0;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));
while((str = br.readLine()) != null) {
s=s+1;
data[s]=str;
}
br.close();
} catch (IOException e) {System.out.println(e);}
datanumber=s;
}
}
最終更新:2017年01月19日 12:00