D..... Universitesi. Algoritma Vize Sorulari Ve Çözümleri
-
//1-) girilen 100 adet tamsayı bir diziye giriliyor bu sayıların son rakamları 3
//olanları ayrı bir diziye yükleyen prog
CONST Adet : INTEGER = 100;
VAR
Dizi1 : Array[1..100] OF INTEGER;
Dizi2 : Array[1..100] OF INTEGER;
Sayac : Integer;
SonRakam3Adet : Integer;
Gecici : String;
GeciciSayi : Integer;
BEGIN
SonRakam3Adet := 1;
FOR SAYAC := 1 TO ADET DO
BEGIN
WRITE(SAYAC , ' SAYIYI GIRINIZ : ');
READLN(Dizi1[SAYAC]);
STR(Dizi1[Sayac],Gecici); // SAYIYI STRINGE CEVIRIYORUZ
// Simdi Stringe Cevirilen Sayinin Sonuncu karakterini alcaz
Gecici := Copy(Gecici,Length(Gecici),1); // son rakamini aldik.
// simdi integere cevirip karsilastirma yapacaz.
VAL(Gecici,GeciciSayi,GeciciSayi);
// Gecici string degiskeni integer hale cevirilerek GeciciSayi degiskenine aktarildi
IF GeciciSayi=3 THEN
BEGIN
Dizi2[SonRakam3Adet] := Dizi1[SAYAC];
// Sonrakam3 ADet degiskenini bir attiriyoruz
INC(SonRakam3Adet); // SonRaakm3Adet = Sonrakam3Adet + 1
END;
END;
// simdi dizi2 ye aktarilan sayilari ekrana yaziyoruz
FOR SAYAC := 1 TO SonRakam3Adet-1 DO
BEGIN
writeln(dizi2[Sayac]);
END;
READLN;
end.================================================================================================
//2-) bir diziye 50 adet sayı giriliyor. d
//izinin 3.elemanına değerce enyakın değeri ve kacıncı sırada olduğunu bulan prg.
CONST Adet : INTEGER = 5;
VAR
Dizi : ARRAY[1..50] OF INTEGER;
Sayac : INTEGER;
EnYakin : Integer;
Sira : Integer;
Sonuc : Integer;
BEGIN
For Sayac := 1 to Adet DO
BEGIN
Write(Sayac, ' Sayi Giriniz : ');
Readln(dizi[Sayac]);
END;
// Varsayilan degerleri aktaralim.
IF dizi[1]>Dizi[3] THEN
BEGIN
EnYakin := dizi[1]-Dizi[3];
END
ELSE
BEGIN
EnYakin := dizi[3]-Dizi[1];
END;
Sira :=1;
For Sayac := 2 to ADET DO
BEGIN
IF Sayac <> 3 THEN // dizinin 3. elemanina en yakin elemani bulacaziz
BEGIN
IF dizi[Sayac]>Dizi[3] THEN
BEGIN
Sonuc := dizi[Sayac]-Dizi[3];
END
ELSE
BEGIN
Sonuc := dizi[3]-Dizi[Sayac];
END;
IF Enyakin > Sonuc THEN
BEGIN
Enyakin:=Sonuc;
Sira := Sayac;
END;
END;
END;
writeln(Dizi[3], ' Sayisina En Yakin eleman ' , dizi[sira], ' ' ,Sira, '. Sirasindadir.');
Readln;
end.bana ulasanlar bu kadardi devami gelirse çözüp yayinlarim
iyi gunler.
-
Bu sorular Murat Güney'in mi ? :)
-
C_e_Z_a bunu yazdı:
-----------------------------
Bu sorular Murat Güney'in mi ? :)
-----------------------------kesin onundur..