アットウィキロゴ

v2cpp

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