Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
4171
Cevap
167922
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (11. sayfa)
H
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: sencagri

Geçen hafta yazmıştım.TL olarak girilen ücreti yazıya döken program. Tek sıkıntısı 4 haneli ve 1 ile başlayan fiyatlarda "bir bin" diyor. Oraya da bir if ifadesi eklenecek ama üşendim şimdi.

Buyrun:
using System; 
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SayıdanYazıya
{
class Program
{


string[] basamakDeğeri = new string[6];
string[,] değerler = new string[3, 10];


int hangiÜçlüde = 0;
int paraK = 0;
int uclu = 0;
string sayı;
void üçlüBasamağıYaz()
{

if (hangiÜçlüde > 0)
{


uclu = sayınınÜçlüsünüAl(ref sayı);

if (uclu != 0)
{
Console.ForegroundColor = ConsoleColor.White;
Console.Write(değerler[2, uclu / 100] + değerler[1, (uclu / 10) % 10] + değerler[0, (uclu - ((uclu / 10) * 10))]);
Console.Write(basamakDeğeri[hangiÜçlüde - 1]);

}

hangiÜçlüde--;
üçlüBasamağıYaz();
}

}
void kuruşKısmınıYaz()
{
if (hangiÜçlüde == 0)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("LİRA");
Console.ForegroundColor = ConsoleColor.White;
Console.Write(değerler[2, paraK / 100] + değerler[1, (paraK / 10) % 10] + değerler[0, (paraK - ((paraK / 10) * 10))]);
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("KURUŞ");
Console.ForegroundColor = ConsoleColor.White;

}

}

int sayınınÜçlüsünüAl(ref string sayı)
{


if ((sayı.Length % 3) > 0)
{
uclu = int.Parse(sayı.Substring(0, sayı.Length % 3));
sayı = sayı.Substring(sayı.Length % 3);
return uclu;
}

else
{
uclu = int.Parse(sayı.Substring(0, 3));
sayı = sayı.Substring(3);
return uclu;
}
}

void SayılarıAyarla()
{
int devir, paraL=0, nokta;

nokta = sayı.IndexOf(",");
if (nokta!=-1)
{
paraK = int.Parse(sayı.Substring(nokta + 1));
paraL = int.Parse(sayı.Substring(0, nokta));
sayı = paraL.ToString();

}
else
{
paraK = 0;
}


if (paraK>99)
{
devir = paraK / 100;
paraL = paraL + devir;
paraK = paraK - (devir * 100);
sayı = paraL.ToString();


}


}

static void Main(string[] args)
{
Program A = new Program();




A.basamakDeğeri[0] = " ";
A.basamakDeğeri[1] = " Bin ";
A.basamakDeğeri[2] = " Milyon ";
A.basamakDeğeri[3] = " Milyar ";
A.basamakDeğeri[4] = "Trilyon";
A.basamakDeğeri[5] = "Katrilyon";

A.değerler[0, 0] = "";
A.değerler[0, 1] = " bir ";
A.değerler[0, 2] = " iki ";
A.değerler[0, 3] = " üç ";
A.değerler[0, 4] = " dört ";
A.değerler[0, 5] = " beş ";
A.değerler[0, 6] = " altı ";
A.değerler[0, 7] = " yedi ";
A.değerler[0, 8] = " sekiz ";
A.değerler[0, 9] = " dokuz ";

A.değerler[1, 0] = "";
A.değerler[1, 1] = " on ";
A.değerler[1, 2] = " yirmi ";
A.değerler[1, 3] = " otuz ";
A.değerler[1, 4] = " kırk";
A.değerler[1, 5] = " elli ";
A.değerler[1, 6] = " altmış ";
A.değerler[1, 7] = " yetmiş ";
A.değerler[1, 8] = " seksen ";
A.değerler[1, 9] = " doksan ";

A.değerler[2, 0] = "";
A.değerler[2, 1] = " yüz ";
A.değerler[2, 2] = " ikiyüz ";
A.değerler[2, 3] = " üçyüz ";
A.değerler[2, 4] = " dörtyüz ";
A.değerler[2, 5] = " beşyüz ";
A.değerler[2, 6] = " altıyüz ";
A.değerler[2, 7] = " yediyüz ";
A.değerler[2, 8] = " sekizyüz ";
A.değerler[2, 9] = " dokuzyüz ";

while (true)
{
A.sayı = Console.ReadLine();

A.SayılarıAyarla();
if (A.sayı.Length % 3 > 0)
{
A.hangiÜçlüde = (A.sayı.Length / 3) + 1;

}
else
{
A.hangiÜçlüde = ((A.sayı.Length) / 3);
}



A.üçlüBasamağıYaz();
if (A.paraK != 0)
{
A.kuruşKısmınıYaz();
}
else
{
Console.Write("LİRA");
}

N
Console.WriteLine();

}

}


}
}



Anladığımk adarıyla mesela 1250 girince, bir bin iki yüz elli yazdırıyor.

Bu arada koda yüzeysel baktım ama güzel olmuş.

Sorunu kodun içindende halledebilirsin inceleyip.. ama şöyle yapmayı dene önce :
İf kontrolünü oluştur. Eğer sayılar şundan büyük veyaşundan küçükse de.. Sonrasında, bir fonksiyon oluştur. Fonksiyonun içine bu sayıları düzgün yazması içine bir algoritma yaz.

Teşekkürler yorumun için. Aynen dediğin gibi bir if kontrolü ile halledilebilir bir olay.

Bu aralar farklı bir program üzerine çalışıyorum. Örneğin 257 TL yi 200, 100, 50, 20, 10, 5, 1 TL ve kuruşlar ile kaç farklı şekilde verilebilir. Bunun üzerine kısa ve öz bir algoritma üzerinde çalışıyorum. Bittiği zaman onuda buraya koyarım inşallah.


Bu mesaja 2 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: sencagri

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: sencagri

Geçen hafta yazmıştım.TL olarak girilen ücreti yazıya döken program. Tek sıkıntısı 4 haneli ve 1 ile başlayan fiyatlarda "bir bin" diyor. Oraya da bir if ifadesi eklenecek ama üşendim şimdi.

Buyrun:
using System; 
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SayıdanYazıya
{
class Program
{


string[] basamakDeğeri = new string[6];
string[,] değerler = new string[3, 10];


int hangiÜçlüde = 0;
int paraK = 0;
int uclu = 0;
string sayı;
void üçlüBasamağıYaz()
{

if (hangiÜçlüde > 0)
{


uclu = sayınınÜçlüsünüAl(ref sayı);

if (uclu != 0)
{
Console.ForegroundColor = ConsoleColor.White;
Console.Write(değerler[2, uclu / 100] + değerler[1, (uclu / 10) % 10] + değerler[0, (uclu - ((uclu / 10) * 10))]);
Console.Write(basamakDeğeri[hangiÜçlüde - 1]);

}

hangiÜçlüde--;
üçlüBasamağıYaz();
}

}
void kuruşKısmınıYaz()
{
if (hangiÜçlüde == 0)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("LİRA");
Console.ForegroundColor = ConsoleColor.White;
Console.Write(değerler[2, paraK / 100] + değerler[1, (paraK / 10) % 10] + değerler[0, (paraK - ((paraK / 10) * 10))]);
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("KURUŞ");
Console.ForegroundColor = ConsoleColor.White;

}

}

int sayınınÜçlüsünüAl(ref string sayı)
{


if ((sayı.Length % 3) > 0)
{
uclu = int.Parse(sayı.Substring(0, sayı.Length % 3));
sayı = sayı.Substring(sayı.Length % 3);
return uclu;
}

else
{
uclu = int.Parse(sayı.Substring(0, 3));
sayı = sayı.Substring(3);
return uclu;
}
}

void SayılarıAyarla()
{
int devir, paraL=0, nokta;

nokta = sayı.IndexOf(",");
if (nokta!=-1)
{
paraK = int.Parse(sayı.Substring(nokta + 1));
paraL = int.Parse(sayı.Substring(0, nokta));
sayı = paraL.ToString();

}
else
{
paraK = 0;
}


if (paraK>99)
{
devir = paraK / 100;
paraL = paraL + devir;
paraK = paraK - (devir * 100);
sayı = paraL.ToString();


}


}

static void Main(string[] args)
{
Program A = new Program();




A.basamakDeğeri[0] = " ";
A.basamakDeğeri[1] = " Bin ";
A.basamakDeğeri[2] = " Milyon ";
A.basamakDeğeri[3] = " Milyar ";
A.basamakDeğeri[4] = "Trilyon";
A.basamakDeğeri[5] = "Katrilyon";

A.değerler[0, 0] = "";
A.değerler[0, 1] = " bir ";
A.değerler[0, 2] = " iki ";
A.değerler[0, 3] = " üç ";
A.değerler[0, 4] = " dört ";
A.değerler[0, 5] = " beş ";
A.değerler[0, 6] = " altı ";
A.değerler[0, 7] = " yedi ";
A.değerler[0, 8] = " sekiz ";
A.değerler[0, 9] = " dokuz ";

A.değerler[1, 0] = "";
A.değerler[1, 1] = " on ";
A.değerler[1, 2] = " yirmi ";
A.değerler[1, 3] = " otuz ";
A.değerler[1, 4] = " kırk";
A.değerler[1, 5] = " elli ";
A.değerler[1, 6] = " altmış ";
A.değerler[1, 7] = " yetmiş ";
A.değerler[1, 8] = " seksen ";
A.değerler[1, 9] = " doksan ";

A.değerler[2, 0] = "";
A.değerler[2, 1] = " yüz ";
A.değerler[2, 2] = " ikiyüz ";
A.değerler[2, 3] = " üçyüz ";
A.değerler[2, 4] = " dörtyüz ";
A.değerler[2, 5] = " beşyüz ";
A.değerler[2, 6] = " altıyüz ";
A.değerler[2, 7] = " yediyüz ";
A.değerler[2, 8] = " sekizyüz ";
A.değerler[2, 9] = " dokuzyüz ";

while (true)
{
A.sayı = Console.ReadLine();

A.SayılarıAyarla();
if (A.sayı.Length % 3 > 0)
{
A.hangiÜçlüde = (A.sayı.Length / 3) + 1;

}
else
{
A.hangiÜçlüde = ((A.sayı.Length) / 3);
}



A.üçlüBasamağıYaz();
if (A.paraK != 0)
{
A.kuruşKısmınıYaz();
}
else
{
Console.Write("LİRA");
}

N
Console.WriteLine();

}

}


}
}



Anladığımk adarıyla mesela 1250 girince, bir bin iki yüz elli yazdırıyor.

Bu arada koda yüzeysel baktım ama güzel olmuş.

Sorunu kodun içindende halledebilirsin inceleyip.. ama şöyle yapmayı dene önce :
İf kontrolünü oluştur. Eğer sayılar şundan büyük veyaşundan küçükse de.. Sonrasında, bir fonksiyon oluştur. Fonksiyonun içine bu sayıları düzgün yazması içine bir algoritma yaz.

Teşekkürler yorumun için. Aynen dediğin gibi bir if kontrolü ile halledilebilir bir olay.

Bu aralar farklı bir program üzerine çalışıyorum. Örneğin 257 TL yi 200, 100, 50, 20, 10, 5, 1 TL ve kuruşlar ile kaç farklı şekilde verilebilir. Bunun üzerine kısa ve öz bir algoritma üzerinde çalışıyorum. Bittiği zaman onuda buraya koyarım inşallah.

Evet güzel bir program.. Ayrıca üstteki verdiğin programdan daha rahat yazarsın o programı.


Bu mesaja 1 cevap geldi.
H
13 yıl
Yüzbaşı

quote:

Orijinalden alıntı: £XE



Bu arada suriye günlüğünü okuyamadım.. Ve çok merak ettim


Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

S
13 yıl
Binbaşı

quote:

Orijinalden alıntı: £XE

Up

Hocam while döngüsü , döngünün başında nasıl durdurulur . Yani durduracak değer alındıktan sonra döngünün geri kalanı yürütülmeyecek.


Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: strahd_von_zarovich

quote:

Orijinalden alıntı: £XE

Up

Hocam while döngüsü , döngünün başında nasıl durdurulur . Yani durduracak değer alındıktan sonra döngünün geri kalanı yürütülmeyecek.

Bunun içni break komutunu kullanabilirsin. Basit şekilde gösterirsek

 
#include <iostream>
using namespace std;

main()
{
int sayi;

cout << "Bir sayi girin : ";

while(sayi<5)
break;

cout << sayi << "dan buyuk bir sayi girin";
}


Bu mesaja 1 cevap geldi.
3
13 yıl
Onbaşı

Merhaba arkadaşlar

benim bi yazılım ihtiyacım var.

Örnek aşagıdadır bu şekilde bi yazılım nasıl olur ne kadara yaparsınız lütfen mail atın.

1234567891234567/1234567891234567 şeklinde değişken rakamlar mp3 dosyası şeklinde kayıt edilip bana geliyor.
ben bu mp3 dosyasını tekrar 1234567891234567/1234567891234567 bu rakamlara dönüştürerek başka yere txt dosyasında göndermek istiyorum.

bu değişimi yapabilecek bir program satan yazıp bana satabilecek arkadaşlarımız varmı ?

ilgi alakanız için şimdiden teşekkür ederim.

Murat GÜLER



S
13 yıl
Binbaşı

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: strahd_von_zarovich

quote:

Orijinalden alıntı: £XE

Up

Hocam while döngüsü , döngünün başında nasıl durdurulur . Yani durduracak değer alındıktan sonra döngünün geri kalanı yürütülmeyecek.

Bunun içni break komutunu kullanabilirsin. Basit şekilde gösterirsek

 
#include <iostream>
using namespace std;

main()
{
int sayi;

cout << "Bir sayi girin : ";

while(sayi<5)
break;

cout << sayi << "dan buyuk bir sayi girin";
}


İkimiz kaldık heralde hocam bir tek . Neyse ben tek başıma baya soru sorucam zaten . Girilen 10 sayi içerisinden en büyük 2 sayiyi buldurmaya calistim. Daha kısa yazılabilir mi , uzattım ben biraz.

#include <stdio.h> 
#include <stdlib.h>

int main(int argc, char *argv[])
{
int sayi,sayac=2,atama1,atama2;
printf("1.ci sayiyi giriniz");
scanf("%d",&sayi);
atama1=sayi;

while(sayac!=11)
{

printf("%d ci sayiyi giriniz",sayac);
scanf("%d",&sayi);
if(sayi>atama1)
{
atama2=atama1;
atama1=sayi;
}
else if(sayi<atama1&&sayi>atama2)
{
atama2=sayi;
}

sayac++;
}

printf("en buyuk sayi %d ondan sonraki en buyuk sayi %d",atama1,atama2);

system("PAUSE");
return 0;
}


Bu mesaja 1 cevap geldi.
G
13 yıl
Yarbay

quote:

Orijinalden alıntı: strahd_von_zarovich

İkimiz kaldık heralde hocam bir tek . Neyse ben tek başıma baya soru sorucam zaten . Girilen 10 sayi içerisinden en büyük 2 sayiyi buldurmaya calistim. Daha kısa yazılabilir mi , uzattım ben biraz.

Kısayı boşver temiz yazmaya bak. Senin kod kirli olmuş. Sistematik düşün, böylece kısa da olur zaten.

main deki argc, argv leri sil önce, gerekmedikçe yazma onları. system("pause") gibi sistem bağımlı gereksiz şeylerden de uzak dur, programı komut satırından çalıştır (cmd). Bunlar taçizane tavsiyelerim.
 
#include <stdio.h>
#include <limits.h>

int main()
{
int sayi, i = 1, buyuk1 = INT_MIN, buyuk2 = INT_MIN;

for(; i <= 10; ++i) {
printf("%d. sayiyi giriniz: ", i);
scanf("%d", &sayi);

if(sayi > buyuk1) {
buyuk2 = buyuk1;
buyuk1 = sayi;
}
}
printf("En buyuk sayi %d, 2. en buyuk sayi %d\n", buyuk1, buyuk2);

return 0;
}


Bu mesaja 1 cevap geldi.
S
13 yıl
Binbaşı

quote:

Orijinalden alıntı: elektro_gadget

quote:

Orijinalden alıntı: strahd_von_zarovich

İkimiz kaldık heralde hocam bir tek . Neyse ben tek başıma baya soru sorucam zaten . Girilen 10 sayi içerisinden en büyük 2 sayiyi buldurmaya calistim. Daha kısa yazılabilir mi , uzattım ben biraz.

Kısayı boşver temiz yazmaya bak. Senin kod kirli olmuş. Sistematik düşün, böylece kısa da olur zaten.

main deki argc, argv leri sil önce, gerekmedikçe yazma onları. system("pause") gibi sistem bağımlı gereksiz şeylerden de uzak dur, programı komut satırından çalıştır (cmd). Bunlar taçizane tavsiyelerim.
 
#include <stdio.h>
#include <limits.h>

int main()
{
int sayi, i = 1, buyuk1 = INT_MIN, buyuk2 = INT_MIN;

for(; i <= 10; ++i) {
printf("%d. sayiyi giriniz: ", i);
scanf("%d", &sayi);

if(sayi > buyuk1) {
buyuk2 = buyuk1;
buyuk1 = sayi;
}
}
printf("En buyuk sayi %d, 2. en buyuk sayi %d\n", buyuk1, buyuk2);

return 0;
}


Hocam programı açtığımda direk onları koyduğu için silmiyorum , argc,argv ne işe işe yarıyor bilmiyorum zaten. Pause olmadan ekranı nasıl göreceğiz , bir de int min in işlevi tam olarak ne ? Kitaptan gittiğimden farklı şeyler kullanmıyorum konu dışında . Teşekkür ederim tavsiyeleriniz için


Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: strahd_von_zarovich

quote:

Orijinalden alıntı: elektro_gadget

quote:

Orijinalden alıntı: strahd_von_zarovich

İkimiz kaldık heralde hocam bir tek . Neyse ben tek başıma baya soru sorucam zaten . Girilen 10 sayi içerisinden en büyük 2 sayiyi buldurmaya calistim. Daha kısa yazılabilir mi , uzattım ben biraz.

Kısayı boşver temiz yazmaya bak. Senin kod kirli olmuş. Sistematik düşün, böylece kısa da olur zaten.

main deki argc, argv leri sil önce, gerekmedikçe yazma onları. system("pause") gibi sistem bağımlı gereksiz şeylerden de uzak dur, programı komut satırından çalıştır (cmd). Bunlar taçizane tavsiyelerim.
 
#include <stdio.h>
#include <limits.h>

int main()
{
int sayi, i = 1, buyuk1 = INT_MIN, buyuk2 = INT_MIN;

for(; i <= 10; ++i) {
printf("%d. sayiyi giriniz: ", i);
scanf("%d", &sayi);

if(sayi > buyuk1) {
buyuk2 = buyuk1;
buyuk1 = sayi;
}
}
printf("En buyuk sayi %d, 2. en buyuk sayi %d\n", buyuk1, buyuk2);

return 0;
}


Hocam programı açtığımda direk onları koyduğu için silmiyorum , argc,argv ne işe işe yarıyor bilmiyorum zaten. Pause olmadan ekranı nasıl göreceğiz , bir de int min in işlevi tam olarak ne ? Kitaptan gittiğimden farklı şeyler kullanmıyorum konu dışında . Teşekkür ederim tavsiyeleriniz için

Elektro_gadget hocamız gene bizden önce davrandı. Hocam sizleri burada görmek çok güzel

#include <limits.h> -> INT_MIN leri bunun sayesinde yazdırdık. öncelikle bu kütüphanemiz.
INT_MIN dediğimiz ise mesela buyuk1 değişkenine verilecek en küçük değeri veriyor. internetten bakabilirsin bu değerlere..

argc,argv'a gelince, büyük ihtimalle "Kaynak Kodu Dosyası" açmıyorsunuz. "Kaynak Kodu Dosyası" açarsanız bembeyaz bir ekran gelecektir önünüze.

system("pause"); yerine, #include <conio.h> ekleyerek, system("pause"); yerine getch(); yazarakta programı ekranda tutabilirsiniz.


Bu mesaja 1 cevap geldi.
G
13 yıl
Yarbay

INT_MIN int değişkene atanabilecek en küçük sayı (benim sistemde -2147483648). Bunun max olanları var, diğer türde olanları var, hepsi limits.h içinde sembolik sabit olarak tanımlı. Peki niye direkt o sayıyı yazmadık ta (hard coding) semboliğini yazdık? Sebebi hem hatadan korunmak hem de programı taşınabilir (her ortamda derlenip çalışabilen) bir hale getirmek. C/C++ ta char haricinde hiçbir değişken türünün standart bir uzunluğu yoktur, limits.h gibi başlık dosyaları ile uyumluluk sağlanır.

Birde stdint.h var. Diyelimki bir değişkene ihtiyacınız var ve "kesinlikle" 32 bit olmalı. Eğer siz bunu int olarak tanımlarsanız hata edersiniz. Sizin sisteminizde int 32 bit olabilir ama başka bir ortamda 16, 32 veya 64 olabilir. Bu değişkeni int yerine stdint.h dosyasında tanımlanan "int32_t" yaparsanız işiniz garanti olur. Aynı şekilde mutlaka 64 bit gerekiyorsa int64_t var ve bunların başında "u" olan unsigned olanları var. uint16_t gibi.

Konuya dönelim.
buyuk2 ye atanan INT_MIN gereksiz olmuş, sonradan farkettim. buyuk1 e atanan ise algoritmanın bir parçası. Eğer bunu yapmamış olsaydık ilk aldığımız sayıyı en büyük varsayıp buyuk1 e atmamız gerekecekti. Bu da döngü yapısını bozacaktı (strahd_von_zarovich in örneğindeki gibi.).

Yukarıda taşınabilirlikten bahsetmiştik. system("pause"); satırı, programı windows tan başka bir ortama "taşınamaz" hale getirir. Mesela ben şu an linux tayım. O kodu aynen kopyalasam derlenir ama çalışmaz çünkü linux ta pause komutu yok. getch() ise standart değil, bende getch yok mesela. İlla ki durdurucu bir kod ekleyecek iseniz getchar() koyun, bu standarttır.
http://www.cplusplus.com/reference/clibrary/cstdio/getchar/

Ama dediğim gibi en iyisi onların hepsini silip konsol penceresi açarak çalıştırmak. Çalıştığınız IDE kendisi çalıştır penceresi açıyorsa onu da kullanabilirsiniz.


Bu mesaja 1 cevap geldi.
S
13 yıl
Binbaşı

Teşekkürler ederim , çok iyi anladım . Not ala ala gidicem artık okullar açılasıya kadar baya bir sorum olur .

Burada ekrana ne yazdirir demiş ama , printf de ne yapılıyor anlamadım .

#include <stdio.h> 


int main()
{
int sayac=1;

while(sayac<=10){

printf("%s\n",sayac%2?"****":"++++++++");
++sayac;
}


return 0;
}


Bu mesaja 2 cevap geldi.
S
13 yıl
Binbaşı

Bir de buradaki işleyiş tam olarak nasıl , x=9 ve y=11 dedik diyelim. X in doğruluğuna bakıyor doğru olduğu için y nin doğruluğuna bakıyor o da doğru olduğundan * lı satırı oynatıyor, $ satır ne olursa olsun zaten yazılacak dimi ? x=11, y=9 dediğimizde ise sadece $ lı satır yazılacak, yani kısaca # lı satırı yazdırmak için x e doğru değeri , y ye ise yanlış değeri vermek gerekiyor ?

if(x<10)
if(y>10)
printf("*****\n");
else
printf("#####\n");
printf("$$$$$\n");





< Bu mesaj bu kişi tarafından değiştirildi strahd_von_zarovich -- 29 Ağustos 2012; 20:34:35 >
Bu mesaja 2 cevap geldi.
T
13 yıl
Yüzbaşı

parantezleri nerde bu kodun ya. öğrenmenin kolay yolu var kodu çalıştır öğren buraya yazmanın manası yok ki?





< Bu mesaj bu kişi tarafından değiştirildi TeaTone -- 29 Ağustos 2012; 22:15:51 >
Bu mesaja 1 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: strahd_von_zarovich

Bir de buradaki işleyiş tam olarak nasıl , x=9 ve y=11 dedik diyelim. X in doğruluğuna bakıyor doğru olduğu için y nin doğruluğuna bakıyor o da doğru olduğundan * lı satırı oynatıyor, $ satır ne olursa olsun zaten yazılacak dimi ? x=11, y=9 dediğimizde ise sadece $ lı satır yazılacak, yani kısaca # lı satırı yazdırmak için x e doğru değeri , y ye ise yanlış değeri vermek gerekiyor ?

if(x<10)
if(y>10)
printf("*****\n");
else
printf("#####\n");
printf("$$$$$\n");

x'e doğru y'ye yanlış değer verirsen, yani mesela x=9, y=11 verirsen, çıktı olarak hem ##### hemde $$$$ elde edersin..

Eğer x=11,y=9; yaparsan $$$$$ elde edersin. vs kendin deneyerekte görebilirsin.


Bu mesaja 1 cevap geldi.
S
13 yıl
Binbaşı

quote:

Orijinalden alıntı: TeaTone

parantezleri nerde bu kodun ya. öğrenmenin kolay yolu var kodu çalıştır öğren buraya yazmanın manası yok ki?

Parantezleri nerede bu kodun Paul J Deitel ? Alıştırma soruları hocam parantezsiz işleyişi anlamak için. Kodu çalıştırıp teyit ettim zaten , işleyişi tam olarak anlamak için sordum.



S
13 yıl
Binbaşı

quote:

Orijinalden alıntı: £XE

quote:

Orijinalden alıntı: strahd_von_zarovich

Bir de buradaki işleyiş tam olarak nasıl , x=9 ve y=11 dedik diyelim. X in doğruluğuna bakıyor doğru olduğu için y nin doğruluğuna bakıyor o da doğru olduğundan * lı satırı oynatıyor, $ satır ne olursa olsun zaten yazılacak dimi ? x=11, y=9 dediğimizde ise sadece $ lı satır yazılacak, yani kısaca # lı satırı yazdırmak için x e doğru değeri , y ye ise yanlış değeri vermek gerekiyor ?

if(x<10)
if(y>10)
printf("*****\n");
else
printf("#####\n");
printf("$$$$$\n");

x'e doğru y'ye yanlış değer verirsen, yani mesela x=9, y=11 verirsen, çıktı olarak hem ##### hemde $$$$ elde edersin..

Eğer x=11,y=9; yaparsan $$$$$ elde edersin. vs kendin deneyerekte görebilirsin.

Hepsini denedim hocam zaten de genede yanlış bir şeyler öğrenmemek için sordum teşekkür ederim .

printf("%s\n",sayac%2?"****":"++++++++"); Burada tam olarak ne yapılıyor ?


Bu mesaja 1 cevap geldi.
T
13 yıl
Yüzbaşı

Hocam bir tavsiyede bulunmak istiyorum. Ben visual studio kullanıyorum ve debug modu çok işime yarıyor hiç birşey anlamadığım bir koddan bile adım adım çalıştırarak nasıl işlediğini anlayabiliyorum. Bu tarz problemlerinide o şekilde kullanımla çok rahat anlayabilirsin.


Bu mesaja 2 cevap geldi.
£
13 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: strahd_von_zarovich

Teşekkürler ederim , çok iyi anladım . Not ala ala gidicem artık okullar açılasıya kadar baya bir sorum olur .

Burada ekrana ne yazdirir demiş ama , printf de ne yapılıyor anlamadım .

#include <stdio.h> 


int main()
{
int sayac=1;

while(sayac<=10){

printf("%s\n",sayac%2?"****":"++++++++");
++sayac;
}


return 0;
}



Dediğim gibi C'a tam hakim değilim..
Şu linki inceleyerek öğrenebilirsin.
http://www.cplusplus.com/reference/clibrary/cstdio/printf/





< Bu mesaj bu kişi tarafından değiştirildi £XE -- 30 Ağustos 2012; 14:18:24 >
Bu mesaja 1 cevap geldi.