4 Nisan 2015 Cumartesi

Matris Büyütme (Ödev 5.5)

public class matris {


int[][] gelenMatris=new int[50][50];
int[][] buyukMatris=new int[50][50];
private int kat;

public matris(int[][] gelenMatris, int kat) {
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
this.gelenMatris[i][j]=gelenMatris[i][j];
}
}
this.kat=kat;
}


public void buyukMatriseYerlestir() {
for(int i=0;i<3;i++){

for(int j=0;j<3;j++){

buyukMatris[kat*i][kat*j]=gelenMatris[i][j];

}
}


for(int i=0;i<3*kat;i++){

for(int j=0;j<3*kat;j++){

if(buyukMatris[i][j+1]==0){

buyukMatris[i][j+1]=buyukMatris[i][j];
}

}
}

for(int i=0;i<3*kat;i++){

for(int j=0;j<3*kat;j++){

if(buyukMatris[i+1][j]==0){

buyukMatris[i+1][j]=buyukMatris[i][j];
}

}

}
}

public void matrisYazdir(int[][] matris) {

for(int i=0;i<3*kat;i++){

for(int j=0;j<3*kat;j++){

System.out.print(" "+(buyukMatris[i][j]));
}
System.out.println();
}
}

public static void main(String[] args)
{
int[][] a = new int[][] {  

{ 1, 2, 3 },
{ 4, 5, 6 },  
{ 1, 4, 2 }  

};

matris mb = new matris(a, 2);

mb.buyukMatriseYerlestir();

mb.matrisYazdir(mb.buyukMatris);
}

}
Ömer Açık

ÇOK GİRİŞLİ YAPAY SİNİR HÜCRESİ SINIFI (Ödev 5.4)

public class YSH_MultiInput {
double girdiler[]=new double[4];

// çok girişli YSH için girdi dizisi

double agirliklar[]=new double[4];

// çok girişli YSH girdilerine ait ağırlık değerleri dizisi

public YSH_MultiInput(double girdiler[], double agirliklar[]) {
// 1- yukarıda referans olarak açılan girdi ve ağırlık dizileriburada gereken boyutla oluşturulmalıdır

// 2- Yapılandırıcı içerisinde dışarıdan gelen girdi ve ağırlık dizileri

// sınıfın girdi ve ağırlıklarına yüklenmelidir  
for(int i=0;i<girdiler.length;i++){

this.girdiler[i]=girdiler[i];
}
for(int i=0;i<agirliklar.length;i++){
this.agirliklar[i]=agirliklar[i];
}

  }

double NET() {
// verilen NET toplama fonksiyonu ile tüm girdi ve ağırlıkları için NET çıkışı hesaplanmalı
// sonuç geri döndürülmelidir
double NET = 0;      

for(int i=0;i<4;i++)
{

NET+=girdiler[i]*agirliklar[i];
}

return NET;
}
double F(double NET) {

// NET() fonksiyonunda elde edilen NET değeri ile

// F(NET) hesabı sigmoid fonksiyonuna göre hesaplanmalı

// ve değer döndürülmelidir    

double net=1/(1+Math.exp(-NET));

return net;
 }
public static void main(String[] args) {

// YSH sınıfına Girdi ve Ağırlıkları gönderilmektedir


double girdiler[] = { 0.5, 0.6, 0.2, 0.7 };

double agirliklar[] = { -0.2, 0.6, 0.2, -0.1 };

YSH_MultiInput ysh_mi = new YSH_MultiInput(girdiler, agirliklar);

double NET = ysh_mi.NET();

System.out.println("NET(g,a)= " + NET);

System.out.print("F(NET)= " + ysh_mi.F(NET));
} }

 Ömer Açık

Sekiz vezir problemi (Ödev 5.3)

public class EightQueens {
 public static void main(String args[]) {
   int N = 8;
 
   int[][] board = new int[N][N];
 
   solve(0, board, N);
 
   for(int i = 0; i < N; i++) {

    for(int j = 0; j < N; j++) {
   
    if(board[i][j]==1) System.out.print("Q ");
     
       else
        System.out.print("* ");
     }
   
     System.out.println();
 
   }

 }

 static boolean solve(int a, int[][] tahta, int N) {
 
 if(a>=N) return true;
 
 for(int i = 0; i < N; i++) {
   
 if(isValid(tahta, a, i, N)) {
   
 tahta[a][i] = 1;
       if(!solve(a+1, tahta, N)) {
     
        tahta[a][i] = 0;
       }
       else
     
        return true;
     }
   
   }

   return false;

 }

 static boolean isValid(int[][] tahta, int x, int y, int N) {

 int i, j;
 
 for(i = 0; i < x; i++)
   
 if(tahta[i][y]==1)
   
       return false;
   i = x - 1;
 
   j = y - 1;
 
   while((i>=0)&&(j>=0))
 
    if(tahta[i--][j--]==1) return false;
 
   i = x - 1;
 
   j = y + 1;
 
   while((i>=0)&&(j<N))
 
    if(tahta[i--][j++]==1) return false;

   return true;

}
}
Ömer Açık

Smith Sayısı (Ödev 4.5)

import java.util.Scanner;
public class smith {


int basamaklarinaAyirTopla(int sayi){

int sayiBasamaklariToplami = 0;
int bs=0;
for(int i=0;i<100;i++)
{
bs=sayi%10;
sayi=sayi/10;
sayiBasamaklariToplami+=bs;
}

return sayiBasamaklariToplami;
}  
int asalCarpanlarinaAyirTopla(int sayi){
int asalCarpanBasamakToplami=0;
for (int i = 2; sayi != 1; i ++)
  {
if (sayi % i == 0)
{
  sayi /= i;
  asalCarpanBasamakToplami=sayi;

  i--;
 
}


}
for(int i=0;i<sayi;i++){

asalCarpanBasamakToplami+=asalCarpanBasamakToplami%10;

sayi=sayi/10;

asalCarpanBasamakToplami+=asalCarpanBasamakToplami;
System.out.println(asalCarpanBasamakToplami);


}

return asalCarpanBasamakToplami;
}
boolean sayiSmithmi(int sayi){

if(asalCarpanlarinaAyirTopla(sayi) == basamaklarinaAyirTopla(sayi))

return true;   return false;

}
public static void main(String[] args) {
smith ss=new smith();

 
Scanner scr=new Scanner(System.in);

  System.out.print("Smith kontrolü için sayi giriniz: ");

  int sayi=scr.nextInt();  

  if(ss.sayiSmithmi(sayi) == true)  

 System.out.println(sayi +" sayısı smith sayisidir..");
else

System.out.println(sayi +" sayısı smith sayısı DEĞİLDİR..");
}
}
Ömer Açık

Yapay Sinir Hücresi Tasarımı (Ödev 4.4)

public class YSH {

    double g1, g2, g3, g4;
 
    // YSH 4 adet girdisi
    double w1, w2, w3, w4;
 
    // YSH girdilerine ait ağırlık değerleri
 
    YSH(double g1, double w1, double g2, double w2, double g3, double w3, double g4, double w4){
     // Bu yapılandırıcı içerisinde dışarıdan gelen girdi ve ağırlıklar
     //sınıfın girdi ve ağırlıklarına yüklenmelidir  
     this.g1=g1;
     this.w1=w1;
     this.g2=g2;
     this.w2=w2;
     this.g3=g3;
     this.w3=w3;
     this.g4=g4;
     this.w4=w4;
 }
    double NET(){

 //verilen NET toplamafonksiyonu ile NET çıkışı hesaplanmalı
 // sonuç geri döndürülmelidir
     double sonuc=g1*w1+g2*w2+g3*w3+g4*w4;
    
     return sonuc;
    
 }       double F(double NET){

 double sonuc=1/(1+Math.exp(-NET));
 //NET() fonksiyonunda elde edilen NET değeri ile

 // F(NET) hesabı sigmoid fonksiyonuna göre hesaplanmalı

 // ve değer döndürülmelidir  
 return sonuc;
 
 }       public static void main(String[] args) {

 //YSH sınıfına Girdi ve Ağırlıkları gönderilmektedir

 YSH ysh=new YSH(0.5, -0.2, 0.6, 0.6, 0.2, 0.2, 0.7, -0.1);

 double NET=ysh.NET();

 System.out.println("NET(g,a)= " +NET);

 System.out.print("F(NET)= " +ysh.F(NET));  }
 }
Ömer Açık

Permutasyon (Ödev 3.5)

import java.util.Arrays;

public class permutasyon {


private static void perm(char[] c, int i, int j) {
char t = c[i]; c[i] = c[j]; c[j] = t;
}

public void per1(char[] c, int n) {
if (n == 1) {
System.out.println(Arrays.toString(c));
}

else {

for (int i = 0; i < n; i++) {

per1(c, n-1);

if (n % 2 == 1) {

perm(c, 0, n-1);
}
else
{
perm(c, i, n-1);
}
}
}
}
public static void main(String[] args) {
char [] c={'a','b','c'};
new permutasyon().per1(c, c.length);




}

}
Ömer Açık

Fibonacci (Ödev 3.4)

public class Fibonacci {

public static long fib(int n) {
if(n==0)
return 0;
 if(n==1||n==2)
 return 1;

if(n%2==0)

     return fib(((n/2)+1)*fib((n/2)+1)) - fib(((n/2)-1)*fib((n/2)-1));

 else

 return fib((n+1)/2)*fib((n+1)/2)+  fib((n-1)/2)*fib((n-1)/2);

 }
private static int fib(long l) {
// TODO Auto-generated method stub
return 0;
}
public static void main(String[] args) {  

 int N = Integer.parseInt(args[0]);
   
    for (int i = 0; i <= N; i++)    
System.out.println(i + ": " +fib(i));
    long sum = 0;  
    for (int i = 0; i <= N; i++)
    sum += fib(i);  
    System.out.println(sum);
    }
   }

Ömer Açık

Obeb Bulma (Ödev 3.3)

import java.util.Scanner;

public class obebBulma {
public static int obebBul(int x,int y){


if((x%y)==0)

return y;
else
return obebBul(y,x%y);
}
public static void main(String[] args) {
int a,b;

Scanner k=new Scanner(System.in);
System.out.println("1. sayıyı giriniz: ");
a=k.nextInt();
System.out.println("2. sayıyı giriniz: ");
b=k.nextInt();
System.out.println("OBEB : "+obebBul(a,b));

}

}
Ömer Açık

Büyük harfi küçük harfe; küçük harfi büyük harfe çevirme (Ödev 2.4)

public class BuyukKucukHarf {
String tamamiBUYUK(String str){  
// str Stringinin içindeki tüm harfler BÜYÜK karaktere çevrilir.
String str1=str.toUpperCase();
return str1;

}
String tamamiKucuk(String str)
{  
// str Stringinin içindeki tüm harfler kucuk karaktere çevrilir.
String str1=str.toLowerCase();
return str1;
}
String ilkHarfBuyuk(String str)
{  
// str Stringinin içindeki kelimelerin ilk harfleri büyük diğerleri küçük yapılır.
char c = Character . toUpperCase ( str . charAt ( 0 ));
//ilk harfini buyuttuk
str = c + str . substring ( 1 );
//buyutulen ilk harften sonra kelimenin diger harflerini ekledik.
String bosluk=" ";
for (int i = 1 ; i<str.length();i++)
   {
       if (str.charAt(i)==' ')
       {
           c=Character.toUpperCase(str.charAt (i+1));
           str = str.substring(0,i)+bosluk +c  + str.substring(i+2);
     
       }
     
   }

return str;
}
String boyutTersle(String str){
//str Stringinin içindeki büyük harfleri küçüğe, küçükleri büyüğe çevirir.


for (int i=0;i<str.length();i++)
{
if(str.charAt(i)==Character.toUpperCase(str.charAt(i))){
str=str.toLowerCase();
}
else if(str.charAt(i)== Character.toUpperCase(str.charAt(i)))
{
str=str.toUpperCase();
}
}
return str;
}
boolean boyutBagimsizKarsilastir(String str1, String Str2)
{   boolean esitlik=false;

//iki string ifadeyi büyük küçük harf farkı gözetmeksizin karşılaştırarak aynı ifade olup olmadığını belirler
if(str1.equalsIgnoreCase(Str2))
return true;
else

return esitlik;
}
public static void main(String[] args) {
BuyukKucukHarf bkh=new BuyukKucukHarf();
String str1="merhaba dünya";
String str2="MERHABA DÜNYA";
String str3="inönü üniversitesi bilgisayar mühendisliği";
String str4="İNÖNÜ üniversitesi BİLGİSAYAR mühendisliği";    
System.out.println(bkh.tamamiBUYUK(str1));
System.out.println(bkh.tamamiKucuk(str2));
System.out.println(bkh.ilkHarfBuyuk(str3));
System.out.println(bkh.boyutTersle(str4));
if(bkh.boyutBagimsizKarsilastir(str3, str4)==true)  
System.out.println("Stringler aynı");
else
System.out.println("Stringler FARKLI");
}

}

Ömer Açık

İlk Sınıf (Ödev 2.3)


public class IlkSinif {

double arOrt;
double stSapma;
double aritmetikOrtalama(int veri[]){
arOrt=0;
for (int i=0;i<veri.length;i++){
arOrt+=veri[i];
//tüm verileri topladık
}
arOrt=arOrt/(veri.length);
//dizinin boyutuna böldük
return arOrt;

}
double standartSapma(int veri[]){
stSapma=0;

for(int i=0;i<veri.length;i++){
stSapma+=(veri[i]-aritmetikOrtalama(veri))*(veri[i]-aritmetikOrtalama(veri));
//verinin ilk elemanlarından aritmetik ortalamayı cıkararak karesini aldık
}
stSapma=stSapma/(veri.length-1);
//standart sapmayı dizi boyutunun bir eksigine böldük
stSapma=Math.sqrt(stSapma);


return stSapma;
}
double[] Z_ScoreNormalization(int veri[])
{
double[] Z_Score=new double[veri.length];

for(int i=0;i<veri.length;i++){
Z_Score[i]=(veri[i]-aritmetikOrtalama(veri))/standartSapma(veri);
//veriden aritmetik ortalamayı cıkarıp standar sapmaya bolduk
}
return Z_Score;
}
int minBul(int veri[]){
int min=veri[0];
for(int i=0;i<veri.length;i++){
if(min>veri[i]){
min=veri[i];
}
}
return min;
}

int maxBul(int veri[]){
int max=0;
for(int i=0;i<veri.length;i++){
if(max<veri[i]){
max=veri[i];
}
}
return max;
}

double[]  minMaxNormalization(int veri[]){
double [] donusmusVeri=new double[veri.length];

for(int i=0;i<veri.length;i++){
donusmusVeri[i]=(veri[i]-minBul(veri));
donusmusVeri[i] =donusmusVeri[i]/(maxBul(veri)-minBul(veri));
}
return donusmusVeri;
}

public static void main(String[] args) {
int[] X={30, 36, 45, 50,62};
double[] Xx=new double[X.length];  
IlkSinif nm=new IlkSinif();
Xx=nm.Z_ScoreNormalization(X);
for (int i=0;i<Xx.length;i++){
System.out.println(Xx[i]);
}
}

}

Ömer Açık

Normalization (Ödev 1)


package labodev_1_1;

public class Normalization {
int arOrt;
double aritmetikOrtalama(int veri[]){
System.out.println(veri[0]);
//dizinin aritmetik ortalaması hesaplanacak
arOrt=0;
for (int i=0;i<veri.length;i++){
arOrt+=veri[i];

arOrt=arOrt/veri.length;
}
System.out.println(arOrt);
return arOrt;
}
int minBul(int veri[]){
int min=veri[0];


for(int i=0;i<veri.length;i++){

if(min>veri[i]){

min=veri[i];
}

}

return min;
}
int maxBul(int veri[]){

int max=0;
for(int i=0;i<veri.length;i++){
if(max<veri[i]){
max=veri[i];
}

}
return max;
}

double[]  minMaxNormalization(int veri[]){
double [] donusmusVeri=new double[veri.length];
Normalization r=new Normalization();
for(int i=0;i<veri.length;i++){
donusmusVeri[i]=(veri[i]-r.minBul(veri));
donusmusVeri[i] =donusmusVeri[i]/(r.maxBul(veri)-r.minBul(veri));
}
return donusmusVeri;
}

public static void main(String[] args) {
int[] X={30, 36, 45, 50,62};
double[] Xx=new double[X.length];  
Normalization nm=new Normalization();
Xx=nm.minMaxNormalization(X);
for (int i=0;i<Xx.length;i++){

System.out.println(Xx[i]);
}
}

}

Ömer Açık