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

quote:

Orijinalden alıntı: bersis576
kardeş önceden belirlediğim 2 sayinin ebobunu alabiliyorum bende önemli olan dışardan sayılari istemek,ben hocanın bana gösterdiği şekilde yazdım hocanın yazdığı zaten çalışmıyoduda en son benimkini şekline getirebildim,bir çok yanlış var demişsin bana onları yazman mümkünmüdür çözümlerini söylemesende olur biraz uğraşmak istiyorum nereler hatalı yada ne kullanımı,bi yerde ebob yazıp obeb çağırmışım yazım hataları var ama diğer hataları göremiyorum cevabın içinde ayrıca teşekkür ederim.

Ben orada nasil yapilacagini demonstre ettim zaten. sadece

x[0]=15;
x[1]=20;

yerine,

cout<<"lutfen 1. sayiyi giriniz:";
cin>>x[0];
cout<<"lutfen 2.sayiyi giriniz:";
cin>>x[1];

yazicaksin.


Bu mesaja 1 cevap geldi.
G
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: arayanbilge

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: arayanbilge

Arkadaşlar ben daha yeniyim C dilinde randomize() kullandığımda tanımlanmamış hatası alıyorum acaba ayrı bir kütüphane eklememiz gerekiyormu ?
Yardımlarınız için teşekkürler

randomize() ???

http://www.cplusplus.com/reference/cstdlib/rand/?kw=rand


Usta sağolasın da bunun iki türlü kullanımı var benim koddaki gibi geçerli olmamasının sebebini biliyomusun ?


Randomize diye birsey gormedim ben.

Verdigim linkte time ile srand fonksiyonu var . Kodu ornek alarak rand fonksiyonunu kullanabilirsin.

#include<stdio.h>  
#include<conio.h>
#include<stdlib.h>
#include <time.h>
int main()
{
int n[10],i;
srand(time(NULL));
for(i=0;i<=9;i++){
n[i] =rand();
printf("%d\n"), n(i);

}
getch();
return 0;
}





< Bu mesaj bu kişi tarafından değiştirildi garui -- 6 Mart 2013; 18:03:22 >

B
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: garui

quote:

Orijinalden alıntı: bersis576
kardeş önceden belirlediğim 2 sayinin ebobunu alabiliyorum bende önemli olan dışardan sayılari istemek,ben hocanın bana gösterdiği şekilde yazdım hocanın yazdığı zaten çalışmıyoduda en son benimkini şekline getirebildim,bir çok yanlış var demişsin bana onları yazman mümkünmüdür çözümlerini söylemesende olur biraz uğraşmak istiyorum nereler hatalı yada ne kullanımı,bi yerde ebob yazıp obeb çağırmışım yazım hataları var ama diğer hataları göremiyorum cevabın içinde ayrıca teşekkür ederim.

Ben orada nasil yapilacagini demonstre ettim zaten. sadece

x[0]=15;
x[1]=20;

yerine,

cout<<"lutfen 1. sayiyi giriniz:";
cin>>x[0];
cout<<"lutfen 2.sayiyi giriniz:";
cin>>x[1];

yazicaksin.

eyvallah cevaplar için,ama cevaplamak zorunda değilsin soruları,sonuçta kimse anasının karnında öğrenmiyo bilgisayar programı oluşturmak içinde öğrenmiyorum öyle aşırı kompleks yapılardada kullanmıyacağım bilgisayar mühendisleri gibi belki bundandır çok ayrıntılı göstermemeleri.



K
12 yıl
Er

Klavyeden 0 değeri girilene kadar sayıların adetini, toplamını ve ortalamalarını bulan C++ Programını yazınız
Ben sayıların adetini buluyorum ama toplamını ve ortalamalarını bulamıyorum ve 3ünüde buldum diyelim nasıl bir programda birleştireceğim yıllık ödevimden takıldığım soru bu yardımcı olursanız sevinirim ?





< Bu mesaj bu kişi tarafından değiştirildi K.A.T.E.M -- 7 Mart 2013; 13:05:31 >
Bu mesaja 1 cevap geldi.
B
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: K.A.T.E.M

Klavyeden 0 değeri girilene kadar sayıların adetini, toplamını ve ortalamalarını bulan C++ Programını yazınız
Ben sayıların adetini buluyorum ama toplamını ve ortalamalarını bulamıyorum ve 3ünüde buldum diyelim nasıl bir programda birleştireceğim yıllık ödevimden takıldığım soru bu yardımcı olursanız sevinirim ?

sanırım böyle bişey senin istediğin ama ortalamayı küsüratlı bulması için float kullanmak gerekiyor.
 

#include<iostream>
using namespace std;
int main()
{
int toplam=0, sayi=1, i=0;
while(sayi!=0)
{
cout<<"Sayiyi Gir :"; cin>>sayi;
toplam+=sayi;
i++;
}
cout<<"Ortalama : "<<toplam/(i-1)<<endl;

while(sayi!=0)
{
cout<<"Sayiyi Gir :"; cin>>sayi;
toplam+=sayi;
}
cout<<"Toplam : "<<toplam<<endl;


cout<<"Girilen sayi adeti:"<<i-1<<endl;

system("pause");
return 0;
}






< Bu mesaj bu kişi tarafından değiştirildi bersis576 -- 7 Mart 2013; 16:01:44 >
Bu mesaja 1 cevap geldi.
E
12 yıl
Çavuş

@garui
Lütfen yardım.
 
#include<stdio.h>
#include<conio.h>
void ortalama(int dizi[][notArr], int SATIR, int notArr)
{
int toplam, x, y;
float ort;
for(x=0; x<SATIR; x++)
for(y=0; y<notArr; y++){
toplam=toplam+dizi[x][y];

}
ort=(float)toplam/(x*y);
printf("Dizi elemanlarinin ortalamasi:%.2f", ort);
}
void buyuk(int dizi[][notArr], int SATIR, int notArr)
{
int buyuk, boyut, x, y, secim2;
boyut=SATIR;
int dizi2[boyut];
for(x=0; x<SATIR; x++)
for(y=0; y<notArr; y++){
dizi2[x]=dizi[x][y];
if(dizi[x][y+1]>dizi[x][y]) dizi2[x]=dizi[x][y+1];
}
printf("Satir elemanlarinin buyuklerinden olusturulan tek boyutlu dizi elemanlari:\n");
for(x=0; x<SATIR; x++)
printf("dizi2[x]=%d", dizi[x]);

printf("3.secenegide yapmak istermisiniz(1-Evet, 2-Hayir):");
scanf("%d", &secim2);
if(secim2==1) ortalama2(dizi2, SATIR);
}
void ortalama2( int dizi2[], int SATIR)
{
int x, toplam;
float ort;
for(x=0; x<SATIR; x++)
toplam=toplam+dizi2[x];

ort=(float)toplam/x;
printf("2.dizinin ortalamasi:%.2f", ort);
}
main(void)
{
int SATIR, notArr, i, j, secim;
printf("Satir degerini giriniz:");
scanf("%d", &SATIR);
printf("Sutun degerini giriniz:");
scanf("%d", &notArr);
int dizi[SATIR][notArr];
for(i=0; i<SATIR; i++)
for(j=0; j<notArr; j++){
printf("dizi[i][j]=");
scanf("%d", &dizi[i][j]);
}
printf("Lutfen seceneklerden biriniz seciniz(1,2):");
scanf("%d", &secim);
if(secim==1) ortalama(dizi, SATIR, notArr);
else if(secim==2){
buyuk(dizi, SATIR, notArr);
}

getch();
return 0;
}


Bu mesaja 2 cevap geldi.
R
12 yıl
Er

c de fscanfde %c yi kullanarak dosyadan tek tek karakterleri okuyarak onları hesaplamam lazım txt dosyasında işlem 1 satır olacak. 123+42-5 gibi
burda 2 problemim var;
1. sayıların kaç basamaklı olduğunu bulan bi fonksiyon yazamadım.
2. + - * / gibi sign ları %c ile okuyabiliyorum fakat onu bi değişkene atadıktan sonra işlem yapamıyorum. veya bu işlemleri bu şekilde yapabileceğim bi yol var mı ?



A
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: -Source-

quote:

Orijinalden alıntı: uykusu gelen adam

merhaba,
Visual studio c# ta bir program yazdığımda konsolda çıktı olarak istediğim çıkıyor ancak değişiklik yaptığımda yine bir önceki program çıktısı çıkıyor.
örneğin ekranda ahmet yazısını çıkartıyorum sonra kapatıp kodları ahmet mehmet yazacak şekilde düzenliyorum çalıştırıyorum yine ahmet çıkıyor.
yeni proje açtığımda düzeliyor ancak yine değişiklik yaptığımda aynı çıktıyı veriyor. yardımcı olur musunuz?

Kodu tekrar derlemen lazım.

Kodda hata olduğunda derleyici, en son hatasız halini gösteriyor. Hata olmadığı durumlarda da yeniden derlemen gerekir. Çalıştırırken Start with debugging yap..


Bu mesaja 1 cevap geldi.
G
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: ebubekir.s

@garui
Lütfen yardım.
 
#include<stdio.h>
#include<conio.h>
void ortalama(int dizi[][notArr], int SATIR, int notArr)
{
int toplam, x, y;
float ort;
for(x=0; x<SATIR; x++)
for(y=0; y<notArr; y++){
toplam=toplam+dizi[x][y];

}
ort=(float)toplam/(x*y);
printf("Dizi elemanlarinin ortalamasi:%.2f", ort);
}
void buyuk(int dizi[][notArr], int SATIR, int notArr)
{
int buyuk, boyut, x, y, secim2;
boyut=SATIR;
int dizi2[boyut];
for(x=0; x<SATIR; x++)
for(y=0; y<notArr; y++){
dizi2[x]=dizi[x][y];
if(dizi[x][y+1]>dizi[x][y]) dizi2[x]=dizi[x][y+1];
}
printf("Satir elemanlarinin buyuklerinden olusturulan tek boyutlu dizi elemanlari:\n");
for(x=0; x<SATIR; x++)
printf("dizi2[x]=%d", dizi[x]);

printf("3.secenegide yapmak istermisiniz(1-Evet, 2-Hayir):");
scanf("%d", &secim2);
if(secim2==1) ortalama2(dizi2, SATIR);
}
void ortalama2( int dizi2[], int SATIR)
{
int x, toplam;
float ort;
for(x=0; x<SATIR; x++)
toplam=toplam+dizi2[x];

ort=(float)toplam/x;
printf("2.dizinin ortalamasi:%.2f", ort);
}
main(void)
{
int SATIR, notArr, i, j, secim;
printf("Satir degerini giriniz:");
scanf("%d", &SATIR);
printf("Sutun degerini giriniz:");
scanf("%d", ¬Arr);
int dizi[SATIR][notArr];
for(i=0; i<SATIR; i++)
for(j=0; j<notArr; j++){
printf("dizi[i][j]=");
scanf("%d", &dizi[i][j]);
}
printf("Lutfen seceneklerden biriniz seciniz(1,2):");
scanf("%d", &secim);
if(secim==1) ortalama(dizi, SATIR, notArr);
else if(secim==2){
buyuk(dizi, SATIR, notArr);
}

getch();
return 0;
}


Sorun nedir ??


Bu mesaja 3 cevap geldi.
R
12 yıl
Yarbay

türkçe karakteri halletmenin çok kolay bi yolu vardı nasıldı ?



E
12 yıl
Çavuş

@garui

3 26 C:\Users\ebubekir414\Desktop\odev.cpp [Error] 'notArr' was not declared in this scope
3 33 C:\Users\ebubekir414\Desktop\odev.cpp [Error] expected ')' before ',' token
3 35 C:\Users\ebubekir414\Desktop\odev.cpp [Error] expected unqualified-id before 'int'


bu hataları veriyor.





< Bu mesaj bu kişi tarafından değiştirildi ebubekir.s -- 11 Mart 2013; 22:47:55 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @garui
G
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: ebubekir.s

@garui

3 26 C:\Users\ebubekir414\Desktop\odev.cpp [Error] 'notArr' was not declared in this scope
3 33 C:\Users\ebubekir414\Desktop\odev.cpp [Error] expected ')' before ',' token
3 35 C:\Users\ebubekir414\Desktop\odev.cpp [Error] expected unqualified-id before 'int'


bu hataları veriyor.

void ortalama(int dizi[][notArr], int SATIR, int notArr)

Bu sekilde fonksiyonu tanimlayamazsin.

void ortalama(int dizi[][10], int SATIR, int notArr)

seklinde olsa olabilirdi. Fonksiyonlara dizi copyalamak veya dizinin olagan yerini gostermek icin bir kac yontem mevcut. Bunlardan biri 2 boyutlu diziler icin double pointer kullanmak.

Ornek:

#include<stdio.h> 
#include<conio.h>
void ortalama(int**, int, int);
void buyuk(int**, int, int);
void ortalama2(int*, int);

void ortalama(int** dizi, int SATIR, int notArr)
{
int toplam=0, x, y;
float ort;
for(x=0; x<SATIR; x++)
for(y=0; y<notArr; y++){
toplam+=dizi[x][y];

}
ort=((float)toplam/(float)(SATIR*notArr));
printf("Dizi elemanlarinin ortalamasi:%.2f", ort);
}

int main(void)
{
int SATIR, notArr, i, j;
printf("Satir degerini giriniz:");
scanf("%d", &SATIR);
printf("Sutun degerini giriniz:");
scanf("%d", &notArr);
int** dizi;
dizi = new int*[SATIR];
for(i=0; i<SATIR; i++){
dizi[i] = new int[notArr];
}

for(i=0; i<SATIR; i++){
for(j=0; j<notArr; j++){
printf("dizi[%d][%d]=",i,j);
scanf("%d", &dizi[i][j]);
}
}

ortalama(dizi, SATIR, notArr);

for (i=0; i<SATIR;i++)
{
delete [] dizi[i];
}
delete [] dizi;
getch();
return 0;
}


Kodda degisiklik yaparak baska yontemlerde kullanabilirsin.





< Bu mesaj bu kişi tarafından değiştirildi garui -- 12 Mart 2013; 14:38:06 >
Bu mesaja 1 cevap geldi.
N
12 yıl
Yüzbaşı

Bilgisayar Mühendisliği 1.sınıf öğrencisiyim daha c'yi yeni yeni görmeye başladık hoca if fonksiyonunu filan daha yeni yeni anlatıyor ama ben biraz ilerledim.Daha da ilerlemek istiyorum bu tür işlere ilgim var.Yaklaşık 2 aydır kod yazıyorum .Şu soruda ise takıldım yardımcı olabilir misiniz acaba ?

Kendisine parametre olarak gönderilen boyuta  uygun kare sıfır matrisi oluşturup bu matrisi döndüren bir fonksiyon 
ve bu fonksiyonu kullanan bir program yazınız.Bu matrisi calloc fonksiyonu ile oluşturunuz.

alttada şunu yazmış.

int** sifirMatrisiOlustur(int boyut);





Benim yapmaya çalıştığım kodsa şu şekilde ve açıkçası yukarda örnek olarak verdiği fonksiyonu çift boyutlu işaretçi olarak atadığını anlamadım.
Matris çift boyutlu, ondan yer alacak işaretçilerde çift boyutlu ama fonksiyonun çift boyutlu olmasına gerek var mı ?


#include <stdio.h> 
#include <string.h>

int sifirMatrisi(int **);

int boyut; //global değişken olarak atadım.Parametre olarak tek tek
int i,j; //gönderdiğimde çok fazla argüman diye hata veriyor.

int main(){

int** matris;

printf("Kare matrisin boyutunu giriniz :\t");
scanf("%d",&boyut);

sifirMatrisi(** matris);

getche();
return 0;
}

int sifirMatrisi(int **matris){

matris=(int**) calloc(boyut,sizeof(int)); //çift boyutlu işaretçinin içine matrisin satırbaşların için yer ayırdım ve calloc ile bunlara sıfır atadım.

for(i=0;i<boyut;i++){
matris[i]=(int*)calloc(boyut,sizeof(int)); //her satır için yine yer ayırdım ve calloc ile bunlara sıfır atadım.
}

for(i=0;i<boyut;i++){ //matrisin her satır ve sütun elemanlarını yazdırdım
for(j=0;j<boyut;j++){
printf("matris[%d][%d]=%d\t",i,j,matris[i][j]);
}

printf("\n");

}

for(i=0;i<boyut;i++) free(matris); //Matriste her satır için ayrılan belleği boşalttım.

free(matris); //Matrisin satır başlarını tutan belleği boşalttım.


return **matris; //büyük ihtimal yaptığım hatalardan biri burda.

}






< Bu mesaj bu kişi tarafından değiştirildi namsar29 -- 12 Mart 2013; 13:04:14 >
Bu mesaja 1 cevap geldi.
E
12 yıl
Çavuş

tamam çok teşekkür ederim.
@garui


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @garui
G
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: sarman29

Bilgisayar Mühendisliği 1.sınıf öğrencisiyim daha c'yi yeni yeni görmeye başladık hoca if fonksiyonunu filan daha yeni yeni anlatıyor ama ben biraz ilerledim.Daha da ilerlemek istiyorum bu tür işlere ilgim var.Yaklaşık 2 aydır kod yazıyorum .Şu soruda ise takıldım yardımcı olabilir misiniz acaba ?


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

int** sifirMatrisi(int);

int main(){

int boyut,i;

int** matris;

printf("Kare matrisin boyutunu giriniz :\t");
scanf("%d",&boyut);

matris = sifirMatrisi(boyut);

printf("%s(%d) : Matris adresi alindi. Adress : %p\n", __func__, __LINE__, (void*)matris);

for(i=0;i<boyut;i++) free(matris[i]); //Matriste her satir için ayrilan bellegi bosalttim.
free(matris); //Matrisin satir baslarini tutan bellegi bosalttim.

matris = 0;

return 0;
}

int** sifirMatrisi(int boyut){

int i,j;

int** sifirM = (int**) calloc(boyut,sizeof(int)); //çift boyutlu isaretçinin içine matrisin satirbaslarin için yer ayirdim ve calloc ile bunlara sifi

if (sifirM == NULL) {
printf("%s(%d) : Memory blogu tahsis edilemedi !\n",__func__, __LINE__);
exit (1);
}
else {
printf("%s(%d) : Memory blogu tahsis edildi. Adress : %p\n",__func__, __LINE__, (void*)sifirM);
}


for(i=0;i<boyut;i++){
sifirM[i]=(int*) calloc(boyut,sizeof(int)); //her satir için yine yer ayirdim ve calloc ile bunlara sifir atadim.
if (sifirM[i] == NULL) {
printf("%s(%d) : Memory blogu tahsis edilemedi !\n",__func__, __LINE__);
for(i--;i>=0;i--) { free(sifirM[i]); }
free(sifirM);
printf("%s(%d) : Memory bloklari temizlendi ! (Yani umudumuz bu yonde)\n",__func__, __LINE__);
exit (1);
}
else {
printf("%s(%d) : Memory blogu tahsis edildi. Adress : %p\n", __func__, __LINE__, (void*)sifirM[i]);
}

}

for(i=0;i<boyut;i++){ //matrisin her satir ve sütun elemanlarini yazdirdim
for(j=0;j<boyut;j++){
printf("matris[%d][%d]=%d\t",i,j,sifirM[i][j]);
}
printf("\n");
}

//for(i=0;i<boyut;i++) free(sifirM[i]); //Matriste her satir için ayrilan bellegi bosalttim.

//free(sifirM[i]); //Matrisin satir baslarini tutan bellegi bosalttim.


return sifirM; //büyük ihtimal yaptigim hatalardan biri burda.
}


Kare matrisin boyutunu giriniz :        4 
sifirMatrisi(57) : Memory blogu tahsis edildi. Adress : 0x804a008
sifirMatrisi(68) : Memory blogu tahsis edildi. Adress : 0x804a020
sifirMatrisi(68) : Memory blogu tahsis edildi. Adress : 0x804a038
sifirMatrisi(68) : Memory blogu tahsis edildi. Adress : 0x804a050
sifirMatrisi(68) : Memory blogu tahsis edildi. Adress : 0x804a068
matris[0][0]=0 matris[0][1]=0 matris[0][2]=0 matris[0][3]=0
matris[1][0]=0 matris[1][1]=0 matris[1][2]=0 matris[1][3]=0
matris[2][0]=0 matris[2][1]=0 matris[2][2]=0 matris[2][3]=0
matris[3][0]=0 matris[3][1]=0 matris[3][2]=0 matris[3][3]=0
main(36) : Matris adresi alindi. Adress : 0x804a008





< Bu mesaj bu kişi tarafından değiştirildi garui -- 12 Mart 2013; 14:25:05 >
Bu mesaja 1 cevap geldi.
G
12 yıl
Yüzbaşı

quote:

Orijinalden alıntı: ebubekir.s

tamam çok teşekkür ederim.
@garui

Rica ederim. Dikkat forum da birsey var gibi. & ve notArr yanyana yazmiyor. Farkli bir karakter koyuyor ¬Arr seklinde.





< Bu mesaj bu kişi tarafından değiştirildi garui -- 12 Mart 2013; 14:39:52 >

N
12 yıl
Yüzbaşı

@garui

Teşekkür ederim yardımınız için.


Bu mesaja 1 cevap geldi.
T
12 yıl
Onbaşı

Merhaba arkadaslar sizlere iki sorum olacak umarim yardimci olabilirsiniz, c#'a yeni basladigimi da belirtmek isterim.

Soru 1 : Asagidaki kod ile C#'da compile islemi yapilamamaktadir. Neden ve ne gibi sorunlardan dolayi yapilamadigini aciklayiniz ?

double a = 56.5;
int b=a;


Soru 2 :

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

Yukaridaki kod dizelerinde 5 ciddi sorun vardir ve bir kac sira hatasi bulunmaktadir. Hatanin nerede oldugu hakkinda aciklama ve cözum icin neler yapilabilir belirtiniz ?

Sorular bunlar arkadaslar umarim yardimci olabilirsiniz, gercekten cok mutlu olurum.

Saygilarimla





< Bu mesaj bu kişi tarafından değiştirildi tokayto -- 12 Mart 2013; 14:58:13 >
Bu mesaja 1 cevap geldi.
R
12 yıl
Yarbay

arkadaşlar mesela ismini sorduktan sonra cinsiyet soracak ve E veya K dan başka tuşa basıldığında tekrar soracak ? nasıl yapabiliriz





< Bu mesaj bu kişi tarafından değiştirildi Ridianod -- 13 Mart 2013; 10:32:07 >
Bu mesaja 1 cevap geldi.
Y
12 yıl
Er

Kullanıcıdan alınan değere göre bir küme oluşturan ve aşağıdaki gibi bir çıktı veren program yazmaya çalışıyorum.
{1, 2, 3} dizisinin alt kümeleri;
{ }
{ 1 }
{ 2 }
{ 3 }
{ 1, 2 }
{ 1, 3 }
{ 2, 3 }
{ 1, 2, 3 }

Diziyi oluşturma ve diziye eleman atama kısmını hallettim ama 2 ve 3 elemanlı alt kümelerini nasıl oluşturacağım çözemedim. 8 elemanlı bir küme olursa 4,5,6,7 elemanlı alt kümelerini de buldurmam gerekiyor. Biraz açıklayabilir misiniz?


Bu mesaja 2 cevap geldi.