Algoritma Programlama Uygulamaları

Algoritma Programlama Uygulamaları
Bir Boyutlu Diziler
1
1. Klavyeden girilen N elemanlı bir A dizisinin tüm elemanlarını toplayan programın akış diyagramını çiziniz, C ve Java dillerinde kodlamasını
yapınız.
Akış diyagramı
C Dili Kodları :
Java Dili Kodları :
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
import java.util.Scanner;
public class ornek4{
public static void main(String[] args){
int i,N,T=0;
Scanner klavye = new Scanner(System.in);
System.out.print(“Dizinin elaman sayısını giriniz”);
N = klavye.nextInt();
İnt A*+ = new int*N+;
int main(int argc, char *argv[])
{
int i, n, dizi[100],sonuc=0;
printf("N = ");
scanf("%d",&n);
for(i=0;i<=n;i++)
{
printf("dizi(%d)",i);
scanf("%d",&dizi[i]);
}
for(i=0;i<=n;i++)
{
sonuc += dizi[i];
}
printf("Sonuc = %d",sonuc); getch();
return 0;
for(i=0;i<N;i++)
{ System.out.print(“A(“+i+”) =”); A[i] = klavye.nextInt();}
for(i=0;i<N;i++){ T+=A[i]; }
System.out.print(“\n Sonuc = “ + T);
}
}
}
Asst. Prof. Dr. / Yrd. Doç.Dr. Resul DAŞ
Sayfa 1
Algoritma Programlama Uygulamaları
2. Klavyeden girilen N elemanlı A ve B dizilerini toplayarak C dizisini oluşturan programın akış diyagramını çiziniz, C ve Java Dillerinde
kodlamasını yapınız
Akış Diyagramı :
C Dili Kodları :
Java Dili Kodları :
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
import java.util.Scanner;
public class ornek4{
public static void main(String[] args){
int i,N,x=0,y=0;
Scanner klavye = new Scanner(System.in);
System.out.print(“Dizinin elaman sayısını giriniz”);
N = klavye.nextInt();
int main(int argc, char *argv[])
{
int i, A[100],B[100],C[100],N;
printf("N= ");
scanf("%d",&N);
for(i=0;i<=N;i++)
{
printf("A(%d) = ",i);
scanf("%d",&A[i]);
}
for(i=0;i<=N;i++)
{
printf("B(%d) = ",i);
scanf("%d",&B[i]);
}
for(i=0;i<=N;i++)
{
C[i] = A[i] + B[i];
printf("C(%d) = %d \n",i,C[i]);
}
getch();
return 0;
}
Asst. Prof. Dr. / Yrd. Doç.Dr. Resul DAŞ
İnt A*+ = new int*N+;
İnt B[] = new int[N];
İnt C[] = new int[N];
System.out.print(“\n A dizinin :“);
for(i=1;i<=N;i++)
{ System.out.print(i+”. Elemanı= “);
A[i-1] = klavye.nextInt();}
for(i=0;i<=N;i++)
{
if(A[i]>0) {x++; B[x-1]=A[i];}
if(A[i]<0) {y++; C[y-1]=A[i];}
}
System.out.println(“\n B dizisi “);
For(i=0;i<x;i++) System.out.print(B*i++ “\t”);
System.out.println();
System.out.println(“\n C dizisi“);
for(i=0;i<y;i++) System.out.print(C*i+ + “\t”);
}
}
Sayfa 2
2
Algoritma Programlama Uygulamaları
3. Klavyeden girilen N elemanlı bir A dizisinin bi ‘k’ sayısıyla çarpıp B dizisini oluşturan programın akış diyagramını çiziniz. C ve Java
Dillerinde kodlayınız.
Akış Diyagramı :
C Dili Kodları :
Java Dili Kodları :
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
import java.util.Scanner;
public class ornek4{
public static void main(String[] args){
int i,N,k;
Scanner klavye = new Scanner(System.in);
System.out.print(“Dizinin elaman sayısını giriniz”);
N = klavye.nextInt();
int main(int argc, char *argv[])
{
int i, A[100],B[100],N;
printf("N= ");
scanf("%d",&N);
for(i=0;i<=N;i++)
{
printf("A(%d) = ",i);
scanf("%d",&A[i]);
}
for(i=0;i<=N;i++)
{
B[i] = A[N-i];
printf("B(%d) = %d \n",i,B[i]);
}
getch();
return 0;
}
Asst. Prof. Dr. / Yrd. Doç.Dr. Resul DAŞ
İnt A*+ = new int*N+;
İnt B*+ = new int*N+;
for(i=0;i<N;i++)
, System.out.print(“A(“+i+”) =”); A*i+ =
klavye.nextInt();}
for(i=0;i<N;i++)
{ B[i] = k * A[i];
System.out.println(“B(“+i+”) =” + B[i]); }
}
}
Sayfa 3
3
Algoritma Programlama Uygulamaları
4. Klavyeden girilen N elemanlı A dizisinin elemanlarını, ters sırada B dizisine yerleştiren ve yazdıran programın akış diyagramını çiziniz, C
4
ve Java dillerinde yazdırınız.
Akış Diyagramı :
C Dilindeki Kodları :
Java Dilindeki Kodları :
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
int i, A[100],B[100],N;
printf("N= ");
scanf("%d",&N);
import java.util.Scanner;
public class ornek4{
public static void main(String[] args){
int i,n;
Scanner klavye = new Scanner(System.in);
System.out.print(“Dizinin elaman sayısını giriniz”);
n = klavye.nextInt();
for(i=0;i<=N;i++)
{
printf("A(%d) = ",i);
scanf("%d",&A[i]);
}
for(i=0;i<=N;i++)
{
B[i] = A[N-i];
printf("B(%d) = %d \n",i,B[i]);
}
getch();
return0;
}
Asst. Prof. Dr. / Yrd. Doç.Dr. Resul DAŞ
İnt A*+ = new int*100];
İnt B[] = new int[100];
for(i=0;i<N;i++)
, System.out.print(“A(“+i+”) =”); A*i+ = klavye.nextInt();for(i=0;i<N;i++)
{ B[i] = A[n-1-i];
System.out.println(“B(“+i+”) =” + B*i+); }
}
Sayfa 4
Algoritma Programlama Uygulamaları
5. Klavyeden girilen N elemanlı A ve B dizilerinin skarel çarpımını hesaplayan programın akış diyagramını çiziniz, C ve Java dillerinde
kodlayınız.
Akış Diyagramı :
C Dili Kodları :
Java Dili Kodları :
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
import java.util.Scanner;
public class ornek4{
public static void main(String[] args){
int i,N;
float SC;
Scanner klavye = new Scanner(System.in);
System.out.print(“Dizinin elaman sayısını giriniz”);
N = klavye.nextInt();
int main(int argc, char *argv[])
{
int n,i,SC=0,A[100],B[100];
printf("N : ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("A(%d)",i);
scanf("%d",&A[i]);
printf("B(%d)",i);
scanf("%d",&B[i]);
}
for(i=1;i<=n;i++)
{
SC = SC + A[i] * B[i];
}
printf("%d",SC);
getch();
return 0;
İnt A*+ = new int*N+;
İnt B*+ = new int*N+;
for(i=0;i<N;i++)
, System.out.print(“A(“+i+”) =”); A*i+ = klavye.nextInt();for(i=0;i<N;i++)
, System.out.print(“B(“+i+”) =”); B[i] = klavye.nextInt();}
for(i=0;i<N;i++)
{ SC = SC + A[i] * B[i];
System.out.printf(“\n İki dizinin skarel çarpımı : %.0f”, SC); }
}
}
}
Asst. Prof. Dr. / Yrd. Doç.Dr. Resul DAŞ
Sayfa 5
5
Algoritma Programlama Uygulamaları
6. Klavyeden girilen N elemanlı A dizisini küçükten büyüğe doğru sıralayan programın akış diyagramını çiziniz, C ve Java dillerinde kodlayınız.
Akış Diyagramı :
Asst. Prof. Dr. / Yrd. Doç.Dr. Resul DAŞ
C Dili Kodları :
Java Dili Kodları :
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main(int argc, char *argv[])
{
int N,j,A[100],i,G;
printf("N : ");
scanf("%d",&N);
for(i=0;i<N;i++)
{
printf("A(%d)");
scanf("%d",&A[i]);
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if(A[j]<A[i])
{
G = A[i];
A[i] = A[j];
A[j] = G;
}
}
}
printf("\n Diziler ---- \n");
for(i=0;j<N;j++)
{
printf("A(%d) = %d \n",i,A[i]);
}
system("PAUSE");
return 0;
}
import java.util.Scanner;
public class ornek4{
public static void main(String[] args){
int i,j,g,N;
Scanner klavye = new Scanner(System.in);
System.out.print(“Dizinin elaman sayısını giriniz”);
N = klavye.nextInt();
6
İnt A*+ = new int*N+;
for(i=0;i<N;i++)
, System.out.print(“A(“+i+”) =”); A*i+ = klavye.nextInt();}
for(i=0;i<N-1;i++)
{
for(j=i+1;j<N;j++)
{
if(A[j]<A[i])
{g = A[i];A[i]=A[j]; A[j]=g;}
}
}
System.out.print(“\n Sıralı dizi : \n”);
for(i=0;i<N;i++)
{ System.out.println(“A(“+i+”) =” + A*i+);}
}
}
Sayfa 6
Algoritma Programlama Uygulamaları
7. Klavyeden girilen N elemanlı bir A dizisindeki pozitif elemanları B dizisine ve negatif elamanları da C dizisine yerleştiren programın akış
diyagramını çiziniz, C ve Java dillerinde kodlamasını yapınız.
Akış Diyagramları :
C Dili Kodları :
Java Dili Kodları :
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main(int argc, char *argv[])
{
int A[100],B[100],C[100],i,n,X=-1,Y=-1;
import java.util.Scanner;
public class ornek4{
public static void main(String[] args){
int i,j,g,N;
Scanner klavye = new Scanner(System.in);
System.out.print(“Dizinin elaman sayısını giriniz”);
N = klavye.nextInt();
printf("N : ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("A(%d) : ",i);
scanf("%d",&A[i]);
}
for(i=0;i<n;i++)
{
if(A[i]>0)
{ X = X + 1;
B[X] = A[i]; }
if(A[i]<0)
{ Y = Y + 1;
C[Y] = A[i]; }
}
for(i=0;i<=X;i++)
{
printf("B(%d) : %d \n",i,B[i]);
for(i=0;i<=Y;i++)
{
printf("C(%d) : %d \n",i,C[i]);
system("PAUSE");
return 0;
}
Asst. Prof. Dr. / Yrd. Doç.Dr. Resul DAŞ
İnt A*+ = new int*N+;
for(i=0;i<N;i++)
{ System.out.print(“A(“+i+”) =”); A*i+ =
klavye.nextInt();}
}
}
for(i=0;i<N-1;i++)
{
for(j=i+1;j<N;j++)
{
if(A[j]<A[i])
{g = A[i];A[i]=A[j]; A[j]=g;}
}
}
System.out.print(“\n Sıralı dizi : \n”);
for(i=0;i<N;i++)
, System.out.println(“A(“+i+”) =” + A*i+);}
}
Sayfa 7
7