Arama butonu
Bu konudaki kullanıcılar: 3 misafir, 2 mobil kullanıcı
4171
Cevap
167978
Tıklama
3
Öne Çıkarma
Cevap: C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (156. sayfa)
E
11 yıl
Teğmen

quote:

Orijinalden alıntı: DrakeMcCain

quote:

Orijinalden alıntı: hotchner12

quote:

Orijinalden alıntı: DrakeMcCain

quote:

Orijinalden alıntı: hotchner12

quote:

Orijinalden alıntı: Gokturk87



Mrb arkadaslar . Bana yardim edebilecek arkadas varsa su programa bir goz atsin lutfen :

Programin amaci uc tane verilen rakami en kucukten en buyuge dogru siralamak , bunu rakamlari ikiser ikser karsilastirarak ve if.. else kullanarak yapmaya calistim .Kodu adam gibi renklemedigim kusura bakmayin .

#include <stdio.h>
#include <math.h> GEREKSİZ

int main ()

{

double A , B , C ; int'le değiştirirsen saçma sapan şeyler çıkmaz ama yazdığın kod C<B<A'yı sıralamak için yeterli değil

printf ("Birinci rakami giriniz : \n") ;
scanf ("%d",&A) ;
printf ("ikinci rakami giriniz : \n") ;
scanf ("%d",&B) ;
printf ("Ucuncu rakami giriniz : \n") ;
scanf ("%d",&C) ;

if ( A < B )
{
if ( C > B )
{
printf ("Rakamlarin kucukten buyuge dizilimi soyle : %d,%d,%d", A , B , C) ;
}
else
{
if ( A < C)
{
printf ("Rakamlarin kucukten buyuge dizilimi soyle : %d,%d,%d ", A , C , B ) ;
}
else
{
printf("Rakamlarin kucukten buyuge dizilimi soyle : %d,%d,%d " , C , A , B ) ;
}
}

}
else
{
if (B < A)
{
printf ("Rakamlarin kucukten buyuge dizilimi soyle: %d,%d,%d " , B , A ,C ) ;
}
else
{
if ( B < C )
{
printf ("Rakamlarin kucukten buyuge dizilimi soyle : %d,%d,%d " , B , C , A ) ;
}
else
{
printf ("Rakamlarin kucukten buyuge dizilimi soyle : %d,%d,%d " , C,B,A) ;
}

}
}
}

Bu kodu yazdiktansonra , verdigim rakamlar ne olursa olsun ,bana boyle sacma sapan bir sey cikartiyo .

< Resime gitmek için tıklayın >


Hatami bulamadin lutfen birisi yardimci olsun , simdiden tesekkurler





 
#include<stdio.h>
#include<conio.h>

int main()
{
int a,b,c,d;
int max,min,ort;



printf("Siralanmasini istediginiz 3 sayiyi giriniz : ");
scanf("%d %d %d",&a,&b,&c);

if ((a>b)&&(a>c)) max=a;
else if ((b>a)&&(b>c)) max=b;
else max=c;


if ((a<b)&&(a<c)) min=a;
else if ((b<a)&&(b<c)) min=b;
else min=c;


if ((a>b)&&(a<c)) ort=a;
else if ((a<b)&&(a>c)) ort=a;
else if ((b>a)&&(b<c)) ort=b;
else if ((b<a)&&(b>c)) ort=b;
else ort=c;

printf ("\n%d \n%d \n%d",min,ort,max);
getch();
return 0;
}



Hocam düz mantık sayılar böyle sıralanabilir; ancak kullanıcıdan 10 sayı isteseydik en büyüğünü nasıl bulacaktık(ben bilmediğim için merak ettiğimden soruyorum)?

Hocam haklısın bu zaten tamamen başlangıç düzeyi bir program. Arkadaşın kendi paylaştığı koddan yola çıkarak bunu yazdım. Hatta yeni yazmadım. Yeni başladığımda yazdığım kodları sakladığım bir klasör var oradan direkt kopyala-yapıştır yaptım. Dikkat ettiysen benim verdiğim kodla arkadaşın verdiği kod arasında çok büyük bir mantık ya da bilgi farkı yok.
Soruya gelince çok haklısın zaten böyle bir kodla profesyonel anlamda program yazılmaz. Sıralama algoritmaları üzerinde en çok durulan en meşhur algoritmalardır.Link
Kullanıcıdan 10 sayı istemekten ziyade, kaç sayı gireceğini kullanıcıya bile bırakabiliriz. Örneğin şu algoritmadaki gibi;
< Resime gitmek için tıklayın >

Kullanıcıdan kaç sayı gireceği(n) alınır. Sonrada algoritmanın devamında gördüğün gibi sıralanır. Fotoğraf biraz bulanık çıkmış kusura bakma. Bubble sort çok basit ve meşhur bir sıralama algoritmasıdır. Az sayıda elemanın sıralanması için idealdir. İnternette istediğin programlama dili için sıralama algoritmalarının hazır yazılmış kodlarını bulabilirsin ; ama benim tavsiyem flow diagram'ına bakıp kendin kodlamandır. Ben yine de sana bubble sort'un kodunu yine kendi newbie arşivimden paylaşayım (merak ettiğinden)
 
#include<stdio.h>
#include<conio.h>

int main(){
int n,i,d[10],x,j;
printf("Siralanmasini istediginiz sayi adetini giriniz : ");
scanf("%i",&n);

for(i=0;i<n;i++){
printf("\n%i. elemani giriniz : ",i+1);
scanf("%i",&d[i]);
}

for(i=0;i<(n-1);i++){
for(j=0;j<=(n-i);j++)
{
if(d[j]>d[j+1])
{
x=d[j];
d[j]=d[j+1];
d[j+1]=x;
}
}
}
for(i=0;i<n;i++)
{
printf("%i. sayi : %i\n",i+1,d[i]);
}

getch();
return 0;
}


Dikkatimi çekti de bu kodları derlemeye kalkarsak, hata vermez mi; çünkü #include <conio.h> headerinin altına using namespace std; yazmamışsın.

İkincisi eğer kodlarına,

#include <stdio.h> //Ben burada stdio.h yerine iostream kullanıyorum.iostream c++'ta kullanılır.Verdiğim kod C kodu
#include <conio.h>

using namespace std; // Eklemen gereken kısım.Bu da C++ için ama yazmak zorunda değilsin lazımsa yazarsın.Bunu kullanmanın daha efektif bir yolu var ama şu an için ihtiyacın olduğunu düşünmüyorum.Yine de örnek vermek gerekirse: bunu yazmak yerine cout ve cin komutlarının başına std:: yazabilirsin.Yani şunun gibi:
std::cout<<"Hello, world!";


main() // Ben Dev C++'ta int main() yerine direkt main() yazıyorum; ide kabul ediyor.ide'nin kabul etmesinden ziyade güncel compiler'lar bu şekilde de derliyor ama eksik bir ifade.Main fonksiyonun döndüreceği veri tipini başına yazmakta fayda var.Aksi takdirde kodu başka bir bilgisayarda derlediğinde ya da kodu verdiğin kişi derlediğinde onun compiler'ı derlemeyebilir.

{

setlocale(LC_ALL, "turkish"); //Bu kodu yazdıktan sonra diğer kodları yazarsan, türkçe karakter kullanabilirsin, en azından Dev C++'ta çalışıyor.Ben Türkçe karakter kullanmamayı tercih ediyorum.Yine de teşekkür ederim.

... // Bundan sonrası aynen zaten, o yüzden yazma ihtiyacı duymadım.





< Bu mesaj bu kişi tarafından değiştirildi ElrondPeredhil -- 21 Ekim 2014; 21:36:29 >
Bu mesaja 1 cevap geldi.
P
11 yıl
Yüzbaşı

Merhaba

Elimizde bir tam sayı var ama 100 basamaklı bile olabilir.(Burda sayının ne türden olduğunu ben de bilmiyorum)
Ben bu sayıyı rakamlarına ayırmak istiyorum ve sonra bağlı listeye ekleyeceğim.

Yüksek basamaklı bir sayıyı nasıl rakamlarına ayırabilirim?


Bu mesaja 1 cevap geldi.
E
11 yıl
Teğmen

quote:

Orijinalden alıntı: portatifparçacık

Merhaba

Elimizde bir tam sayı var ama 100 basamaklı bile olabilir.(Burda sayının ne türden olduğunu ben de bilmiyorum)
Ben bu sayıyı rakamlarına ayırmak istiyorum ve sonra bağlı listeye ekleyeceğim.

Yüksek basamaklı bir sayıyı nasıl rakamlarına ayırabilirim?

Yani basamaklarına mı ayırmak istiyorsun?

381057

3

8

1

0

5

7

Böyle birşey mi?


Bu mesaja 1 cevap geldi.
O
11 yıl
Yüzbaşı

Döngüyle kullanıcıdan 6 tane sayı alıp ilk sayının tüm sayılarının toplamının yüzde kaçı olduğunu veren programı yazmaya çalışıyorum, fakat toplamı veriyor ama yüzdeyi vermiyor. Hataya bir göz atar mısınız (C)
< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi Olaylar Olaylar -- 22 Ekim 2014; 0:25:34 >
Bu mesaja 1 cevap geldi.
D
11 yıl
Er

quote:

Orijinalden alıntı: dtorun

merhabalar bana şöyle bir ödev verildi yardım edebilecek olursa çok memnun olurum.

ödev c kodlarıyla yazılacak şöyle ki ;

bir kripto dili oluşturulacak ama rastgele mesela normal alfabeyi a=f olsun c=ü olsun gibi yani bi ötelenme olmayacak bu harf ve rakamların neye eşdeğer olduğunu biz belirleyeceğiz.
programı başlattığımızda bize metni girin diye soracakmış metni normal şekilde girdiğimizde bize kriptolu halini verecekmiş
ve aynı zamanda bu metni txt. dosyasına aktaracak.

çok kafam karıştı nasıl yapacağım konusunda.. yardımlarınızı bekliyorum iyi günler dilerim.

bi el atsanız çok önemli bir ödev ?


Bu mesaja 1 cevap geldi.
E
11 yıl
Teğmen

Kodu kopyala yapıştır ben üzerinden anlatarak düzeltme yapayım sana. Bir de arrayleri biliyor musun?


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Olaylar Olaylar
O
11 yıl
Yüzbaşı

quote:

Orijinalden alıntı: hotchner12

Kodu kopyala yapıştır ben üzerinden anlatarak düzeltme yapayım sana. Bir de arrayleri biliyor musun?

Dizileri bilmiyorum henüz
#include <stdio.h>
int main()
{

int total;
int counter;
float percent;
int number;


printf ("Enter the first number: "); scanf("%d",&number);
while (counter<=6)
{
total=total+number;
counter++;
printf("Enter the next number: "); scanf("%d",&number);


}
printf("The total is %d\n",total);
number=(total*percent)/100;
printf("The percent is %.2f",percent);

}


Bu mesaja 1 cevap geldi.
P
11 yıl
Yüzbaşı

quote:

Orijinalden alıntı: hotchner12

quote:

Orijinalden alıntı: portatifparçacık

Merhaba

Elimizde bir tam sayı var ama 100 basamaklı bile olabilir.(Burda sayının ne türden olduğunu ben de bilmiyorum)
Ben bu sayıyı rakamlarına ayırmak istiyorum ve sonra bağlı listeye ekleyeceğim.

Yüksek basamaklı bir sayıyı nasıl rakamlarına ayırabilirim?

Yani basamaklarına mı ayırmak istiyorsun?

381057

3

8

1

0

5

7

Böyle birşey mi?

Ayarlardan bildirimi kapatdığım için görmemişim mesajı pardon.
Evet öyle yapmam gerekiyor mod alarak yaptım.


Bu mesaja 1 cevap geldi.
E
11 yıl
Teğmen

Tam olarak ne istediğini anlayamadığım için yardımcı olamıyorum.Benim bildiğim belli bir fonksiyona göre kriptolanır. Yani random da olsa belli bir algoritma olur. Eğer sen rastgele eşleyeceksen karakterleri o zaman otur bir kağıda yaz rastgele a için c de b için büyük x yani X de falan filan salla derken işin çok uzar ama demek istediğinden bunu anladım ben.

Ondan sonrası kolay zaten. Kullanıcıdan aldığımız yazıyı bir char dizisine atarız oradan for döngüsünün içine switch statement koyup yazı içindeki her karakteri tek tek senin belirlediğin kriptolanmış karşılığıyla değiştirir sonra da ekrana yazdırırız.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @dtorun
E
11 yıl
Teğmen

quote:

Orijinalden alıntı: portatifparçacık

quote:

Orijinalden alıntı: hotchner12

quote:

Orijinalden alıntı: portatifparçacık

Merhaba

Elimizde bir tam sayı var ama 100 basamaklı bile olabilir.(Burda sayının ne türden olduğunu ben de bilmiyorum)
Ben bu sayıyı rakamlarına ayırmak istiyorum ve sonra bağlı listeye ekleyeceğim.

Yüksek basamaklı bir sayıyı nasıl rakamlarına ayırabilirim?

Yani basamaklarına mı ayırmak istiyorsun?

381057

3

8

1

0

5

7

Böyle birşey mi?

Ayarlardan bildirimi kapatdığım için görmemişim mesajı pardon.
Evet öyle yapmam gerekiyor mod alarak yaptım.

Tamamdır kolay gelsin. Mod almadan yapmak istersen şöyle birşey de işine yarar belki.

 
#include<iostream>
#include<cstring>
using namespace std;

int main()
{
char sayi[10];
int a;
cout << "Sayi giriniz : ";
cin >> sayi;
a=strlen(sayi);

for(a;a<10;a++)
{
sayi[a]='\n';
}
cout << endl <<"Girdiginiz sayinin basamaklari : "<<endl;
for(a=0;a<10;a++)
{
if(sayi[a]!='\n')
cout << endl <<sayi[a] <<endl<<endl;
else continue;
}
}


Bu mesaja 4 cevap geldi.
E
11 yıl
Teğmen

quote:

Orijinalden alıntı: Olaylar Olaylar

quote:

Orijinalden alıntı: hotchner12

Kodu kopyala yapıştır ben üzerinden anlatarak düzeltme yapayım sana. Bir de arrayleri biliyor musun?

Dizileri bilmiyorum henüz
#include <stdio.h>
int main()
{

int total=0;
int counter=1;
float percent;
int number;
int number1;

printf ("Enter the first number: "); scanf("%d",&number,&number1);
while (counter<=6)
{
total=total+number;
counter++;
printf("Enter the next number: "); scanf("%d",&number);


}
printf("The total is %d\n",total);
number=(total*percent)/100; percent=(number1*100)/total;
printf("The percent is %.2f",percent);

}





< Bu mesaj bu kişi tarafından değiştirildi ElrondPeredhil -- 22 Ekim 2014; 1:22:24 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Olaylar Olaylar
S
11 yıl
Er

Merhaba arkadaşlar ; Konsoldan girilen öğrenci sayısına göre, öğrencilerin notlarını tek tek konsoldan girilmesine olanak sağlayan, altmış ve üzeri alanlar "Başarılı", altmış aşağısı almış öğrenciler ise "Başarısız" sayılması kuralı ile girilen notlara göre toplam başarılı ve başarısız öğrenci sayısı ile, girilen notların ortalamasını yazdıran bir konsol uygulaması yapmam gerekiyor . Bilgisi olan var mı bu konuda ?


Bu mesaja 2 cevap geldi.
R
11 yıl
Yarbay

quote:

Orijinalden alıntı: smithiseek

Merhaba arkadaşlar ; Konsoldan girilen öğrenci sayısına göre, öğrencilerin notlarını tek tek konsoldan girilmesine olanak sağlayan, altmış ve üzeri alanlar "Başarılı", altmış aşağısı almış öğrenciler ise "Başarısız" sayılması kuralı ile girilen notlara göre toplam başarılı ve başarısız öğrenci sayısı ile, girilen notların ortalamasını yazdıran bir konsol uygulaması yapmam gerekiyor . Bilgisi olan var mı bu konuda ?

Bunu kendin yapman lazım. Sen bir başla kodu yazmaya takıldığın yeri sor.



O
11 yıl
Yüzbaşı

W8.1 dev c++ 5.7.1 Graphics. H kütüphanesinde kullanmaya çalışırken hata alıyorum Graphics. H kütüphane llere arasına eklendi. Kod bir kere çalışıyor daha sonra çalıştırmayı denediğimde Graphics. H tanımlı değil hatası alıyorum yardım edenlere şimdiden teşekkürler



< Bu ileti mobil sürüm kullanılarak atıldı >

O
11 yıl
Yüzbaşı

quote:

Orijinalden alıntı: smithiseek

Merhaba arkadaşlar ; Konsoldan girilen öğrenci sayısına göre, öğrencilerin notlarını tek tek konsoldan girilmesine olanak sağlayan, altmış ve üzeri alanlar "Başarılı", altmış aşağısı almış öğrenciler ise "Başarısız" sayılması kuralı ile girilen notlara göre toplam başarılı ve başarısız öğrenci sayısı ile, girilen notların ortalamasını yazdıran bir konsol uygulaması yapmam gerekiyor . Bilgisi olan var mı bu konuda ?

İstediğiniz basit bir soru dizi yapılabilir struct yapılabilir deneyin takıldığınız yerler cevaplanır



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
S
11 yıl
Er

Biraz yapmaya çalıştım ancak ilk kısmı beceremedim tam . Konsoldan istediğimiz kadar not girebilmemiz lazım bu bölümü nasıl yapabilirim arkadaşlar.


Bu mesaja 1 cevap geldi.
R
11 yıl
Yarbay

quote:

Orijinalden alıntı: smithiseek

Biraz yapmaya çalıştım ancak ilk kısmı beceremedim tam . Konsoldan istediğimiz kadar not girebilmemiz lazım bu bölümü nasıl yapabilirim arkadaşlar.

Scanf ile öğrenci sayısını okutacaksın.
Sonrasında while(i < ogrenciSayisi) olduğu sürece scanf ile not okuyup, toplam değişkenine atacaksın.
En sonda da döngü dışında, toplamı öğrenci sayısına bölersin.



N
11 yıl
Yüzbaşı

#include <studio.h>
#define MAX_CHAR 80
void main()
{
char str[MAX_CHAR];
int i;
printf("Enter a string");
scanf("%s",str);
printf("String İfadesi: %s ")
}


arkadaşlar yukarıdaki kodu max_char kullanmadan yapma şansımız varmı ? Yardımcı olabilir misiniz.


Bu mesaja 1 cevap geldi.
D
11 yıl
Er

quote:

Orijinalden alıntı: hotchner12

Tam olarak ne istediğini anlayamadığım için yardımcı olamıyorum.Benim bildiğim belli bir fonksiyona göre kriptolanır. Yani random da olsa belli bir algoritma olur. Eğer sen rastgele eşleyeceksen karakterleri o zaman otur bir kağıda yaz rastgele a için c de b için büyük x yani X de falan filan salla derken işin çok uzar ama demek istediğinden bunu anladım ben.

Ondan sonrası kolay zaten. Kullanıcıdan aldığımız yazıyı bir char dizisine atarız oradan for döngüsünün içine switch statement koyup yazı içindeki her karakteri tek tek senin belirlediğin kriptolanmış karşılığıyla değiştirir sonra da ekrana yazdırırız.

ya zaten anladığım kadarıyla hocanın istediğide bizi uğraştırmak ama bu ders dışındada derslerim var ve ben en son 1. sınıfta algoritma oluşturabileceğimiz program kullandım (matlab) şimdi hatırlamıyorum da

2 3 döngü gösterdi 3 5 ders notu verdi onlarda ingilizce :S yapamadım yani

yardımcı olursanız çok memnun olurum. baya da ortalamaya etkiyecek bir ödev çünkü.




Bu mesajda bahsedilenler: @hotchner12
K
11 yıl
Yüzbaşı

max_char kullanmadan derken neyi kastediyorsun. oraya direk 80 yazsan da olur. yoksa dizinin boyutunu onceden tanımladan mı yapmak istiyorsun?


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Nikola_Tesla_