Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

C ödevi (ufak bir sorun) (iq


Peka

Öne çıkan mesajlar

başlıkta yazdığım gibi yardım etmek için gelmediysen direk çık bu topicten

şimdi klavyeden girilen 30 haneli 2 sayıyı çarpan bi programcık yazılıcak
30 haneyi bi gesken tutamadıgına gore bi arrayin icine atmamız gerekiyor dimi ? yada ben boyle dusundum
ve yazdım ki ;


#include
#include

void main()
{
int sonuc[230],dizi1[30],dizi2[30];
int k,l,j=0,i=0,eldevar,c1,c2;
j=0;
i=0;
printf("Carpilacak cok haneli 1. sayiyi giriniz = ");
do {
c1=getchar();
dizi1[i] = c1;
i++;
} while (c1 != 'n');

printf("Carpilacak cok haneli 2. sayiyi giriniz = ");
do {
c2=getchar();
dizi2[j] = c2;
j++;
} while (c2 != 'n');

printf("%dn",&i); // bu ne ?
printf("%dn",&dizi1[3]); // abuk subuk sayilar ckiyor ?
printf("%dn",&dizi2[2]); // degisken tipleriyle ilgili bir sorun war sanirim


}


amma velakin i , tek basamaklı olamsı gereken dizi icindeki sayılar için abuk subuk degerler veriyor
degisken tipleri ile ilgili bir sorun war sanırım
carpım algoritmasına daha gecmedim cunku burası olmadan zaten ona girisemem
warmı sorun hakkında fikri olan ?[hline]-Huseyini gordunuzmu ya ?
-Yedigonubiz ,
-nasi ?
-baktik ye-ni-le-bi-lir gozukuyodu , yedik .
Link to comment
Sosyal ağlarda paylaş

algoritmada falan sorun yok.

şimdi şöle diyim.

sen tutuyosun diyosunki bana klavyeden girilen bi karakter al karakter değerini olduğu gibi integer'ın içine at.

& lar ile birlikte çıkan değerler adres değeridir.gereksiz nerden esdi böle bi kullanım anlamadım.& ları kaldırdığındada çıkan sayıların girilen rakamların ascii değereleri olduğunu görebilirsin.getch değilde scanf("%s") yada gets falan kullansan daha mantıklı olur.[hline]Mazhar Alanson-Cem Yılmaz:
Bir zamanlar fırtınalar estirirdim
Link to comment
Sosyal ağlarda paylaş

said:
baaluo, 16 November 2003 20:35 tarihinde demiş ki:
başlıkta yazdığım gibi yardım etmek için gelmediysen direk çık bu topicten


niyeki? okumak için kalamazmıyım?. ya da okumadan direk çıkarsam yardım edip edemiyceğimi nası bilebilirim.? topice tıklamadan, yardım edip etmeme konusunda bi karara varmış olmam mı gerekiyo? anlayamadım yani nedemek istediğini. benim iq<90 heralde
Link to comment
Sosyal ağlarda paylaş

Artık PC'yimden çooook uzakta olduğum için sana kod yollayamıyorum :(

Şöyle bir str. izlemen gerekir.(Ör: Toplama için)

Al sana sayı:
12212123123212342342344453534456456457675
+++++
12342334567687678989675675656567567567565

Al Sana sayı2:
0a=457675
1a=456456
2a=453534
3a=342344
4a=212342
5a=123123
6a=12212
+++++
0b 1b 2b 3b 4b 5b 6b
12342 334567 687678 989675 675656 567567 567565
(aynı ifadeyi 1000000 tabanında da yazmış olduk mu ???)

şimdi toplamak istersek

Sonuç için
(6a+6b)mod 1000000 ----> S6
S5=((6a+6b)-((6a+6b)mod 1000000))/1000000

(5a+5b)mod 1000000 ----> +S5
S4=((5a+5b)-((5a+5b)mod 1000000))/1000000

(4a+4b)mod 1000000 ----> +S4
S3=((4a+4b)-((4a+4b)mod 1000000))/1000000
..
...
...
.

..
.
.
.
.



gibi.....

[Bu mesaj Criminal2 tarafından 17 November 2003 14:56 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

said:
RogueNoir, 17 November 2003 09:23 tarihinde demiş ki:
said:
baaluo, 16 November 2003 20:35 tarihinde demiş ki:
başlıkta yazdığım gibi yardım etmek için gelmediysen direk çık bu topicten


okumak için kalamazmıyım?.

hayır
said:
RogueNoir, 17 November 2003 09:23 tarihinde demiş ki:
topice tıklamadan, yardım edip etmeme konusunda bi karara varmış olmam mı gerekiyo?
evet. topiğe girme amacın yarım etmek olmalı , girip ne bu ödev bidi yaptırmayamı bla
demek için gelmemelisin geliyosan git başkasını topiğine yardır[hline]-Huseyini gordunuzmu ya ?
-Yedigonubiz ,
-nasi ?
-baktik ye-ni-le-bi-lir gozukuyodu , yedik .
Link to comment
Sosyal ağlarda paylaş

off çok kafam karıştı
hoca bildiklerinizle bunu yapmak zor derken haklıymış şimdi anlıyorum
ben gerisini şöyle tamamlamıştım



#include
#include
#include

void main()
{
int sonuc[230],dizi1[30],dizi2[30];
int kova=0,z,k,l,j=0,i=0,eldevar=0,c1,c2;
printf("Carpilacak cok haneli 1. sayiyi giriniz = ");
do {
c1=getchar();
dizi1[ i] = c1;
i++;
} while (c1 != 'n');

printf("Carpilacak cok haneli 2. sayiyi giriniz = ");
do {
c2=getchar();
dizi2[j] = c2;
j++;
} while (c2 != 'n');

for(k=0;k for(l=0;l kova= dizi1[k]*dizi2[l]+eldevar;
if(strlen(kova)>1) {
eldevar=strncpy(kova,1,1);
sonuc[z]=strncpy(kova,1,2);
z++;
}
else {
sonuc[z]=kova;
z++;
}
}
}
i=0;
for(i=z;i>=0;i--)
printf("%d",sonuc[i ]);
}


amma velakin çalişsada strncpy yi de netten bulmuştum ama
aradığım komut değilmiş ben "mid" gibi git şu değişkenin 2. karakterinden 3 tane al diyebileceğim bi komut arıyodum
yani her sayı tek basamaklı olacağı için
defterde çarpım gibi bi algoritma düşündüm
eldevarları ayırıcak dierini alıp atıcak sonuc un içine falan


ra_d atoi ' nin kullanımı hakkında 3 satırlık bi örnek verirmisin
crim yanlız ben çarpım yapıcam toplama değil
bu gösterdiğin sistem mantıklı gelsede bidaha düşündümde
çarpım için biraz karışmazmı ? yani forlu döngüler açıcanda 10 15 tane herpsii ayrı ayrı çarptırıcan falan ?[hline]-Huseyini gordunuzmu ya ?
-Yedigonubiz ,
-nasi ?
-baktik ye-ni-le-bi-lir gozukuyodu , yedik .

[Bu mesaj baaluo tarafından 17 November 2003 16:27 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

4 satırlık versem olmazmı? :)


#include
#include

int main(void)
{
int n;
char *str = "12345.67";

n = atoi(str);
printf("string = %s integer = %dn", str, n);
return 0;
}
al sana official örnek.


abi sen inatla integer bi değer içine char atıyosun.bak dediklerimin hepsini boşver c1=c1-48 desene bi kodunda bak herşey düzelecek.[hline]Mazhar Alanson-Cem Yılmaz:
Bir zamanlar fırtınalar estirirdim
Link to comment
Sosyal ağlarda paylaş

#include
#include

void main()
{
int sonuc[230],dizi1[30],dizi2[30];
int k,l,j=0,i=0,eldevar,c1,c2;
j=0;
i=0;
printf("Carpilacak cok haneli 1. sayiyi giriniz = ");
do {
c1=getchar();
c1=c1-48;
dizi1[ i ] = c1;
i++;
} while (c1 != 'n'-48);

printf("Carpilacak cok haneli 2. sayiyi giriniz = ");
do {
c2=getchar();
c2=c2-48;
dizi2[j] = c2;
j++;
} while (c2 != 'n'-48);

printf("%dn",i); // bu ne ?
printf("%dn",dizi1[3]); // abuk subuk sayilar ckiyor ?
printf("%dn",dizi2[2]); // degisken tipleriyle ilgili bir sorun war sanirim
}


bak ilk kodu böyle düzeltirsen çalışıyo. anladınmı neden olduğunu.[hline]Mazhar Alanson-Cem Yılmaz:
Bir zamanlar fırtınalar estirirdim


[Bu mesaj Ra_d tarafından 17 November 2003 16:40 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

taam öyle yaptım ra_d peki bişiy daha war
strncpy işime yaramıyor
vbasicteki "mid" sql deki "substring" gibi
bi komut lazım bana
yani eldevar in 2. harfini suraya at
1. harfini buraya at gibi

son hali programin bu oldu

#include
#include
#include

void main()
{
int sonuc[230],dizi1[30],dizi2[30];
int kova=0,z,k,l,j=0,i=0,eldevar=0,c1,c2;

j=0;
i=0;
printf("Carpilacak cok haneli 1. sayiyi giriniz = ");
do {
c1=getchar();
c1=c1-48;
dizi1[ i ] = c1;
i++;
} while (c1 != 'n'-48);

printf("Carpilacak cok haneli 2. sayiyi giriniz = ");
do {
c2=getchar();
c2=c2-48;
dizi2[j] = c2;
j++;
} while (c2 != 'n'-48);
for(k=0;k for(l=0;l kova= dizi1[k]*dizi2[l]+eldevar;
if(strlen(kova)>1) {
eldevar=strncpy(kova,1,1);
sonuc[z]=strncpy(kova,1,2);
z++;
}
else {
sonuc[z]=kova;
z++;
}
}
}
i=0;
for(i=z;i>=0;i--)
printf("%d",sonuc[i ]);
}



ra_d ın dediği şekile geldi ve artık sayıları falan alıyor yazıyor her bi haltı yapıyor denedim gel gelelim o strncpy de bi skatlık war annadıgım kariyinan[hline]-Huseyini gordunuzmu ya ?
-Yedigonubiz ,
-nasi ?
-baktik ye-ni-le-bi-lir gozukuyodu , yedik .
Link to comment
Sosyal ağlarda paylaş

said:
baaluo, 17 November 2003 16:21 tarihinde demiş ki:
said:
RogueNoir, 17 November 2003 09:23 tarihinde demiş ki:
said:
baaluo, 16 November 2003 20:35 tarihinde demiş ki:
başlıkta yazdığım gibi yardım etmek için gelmediysen direk çık bu topicten


okumak için kalamazmıyım?.

hayır

ama ben bişey yazmıycam, öğrenmek için okumak istiyorum, o da mı yasak?

said:

said:
RogueNoir, 17 November 2003 09:23 tarihinde demiş ki:
topice tıklamadan, yardım edip etmeme konusunda bi karara varmış olmam mı gerekiyo?
evet. topiğe girme amacın yarım etmek olmalı , girip ne bu ödev bidi yaptırmayamı bla
demek için gelmemelisin geliyosan git başkasını topiğine yardır[hline]-Huseyini gordunuzmu ya ?
-Yedigonubiz ,
-nasi ?
-baktik ye-ni-le-bi-lir gozukuyodu , yedik .


peki topiğe girmeden, ve postu okumadan, yani içerikle ilgili bi fikrim olmadan, yardım edebilip edemiyceğime nasıl karar verebilirim? belki biliyorumdur, ve yardım ederim. belki bilmiyorumdur, ve yardım edemem. bunu anlamak için okumam gerekiyo, malesef..
Link to comment
Sosyal ağlarda paylaş

baal abi sana bişi soracam sence string fonksiyonları integer variable'larla kullanılabilirmi? yani mantıklı geliyomu bu sana. kim dedi abi sana strlen strcpy kullan diye.
strlen "string length" demek abi bi string'in uzunluğunu verir.strcpy'de "string copy" demek.sting(character array) ile kullanılır bunlar.integer dediğin değer iki byte uzunluğunda bi değişken.daha data types'ı işlemediniz diyecem ama C diline data types ile başlanıyo.sonra arrayler geliyo.[hline]Mazhar Alanson-Cem Yılmaz:
Bir zamanlar fırtınalar estirirdim
Link to comment
Sosyal ağlarda paylaş

tamam yardım etmek istiyorum, ama edemiyorum, çünkü okudum ve gördümkü konu hakkında bi fikrim yokmuş. ama çok geç kaldım, çünkü topiğe girdim ancak yardım edemediğin için kuralları çiğnemiş oldum. bunun gibi mi?

yani sırf okumak için niye giremiyoruz onu anlamadım.

bide iq'ım 90'ın altındaysa da giremiyomuşum. yani salağım diye beni dışlamanıza gerek yokki. dimi..

belki başlıkta parantez içindeki cümlenin son kelimesi "girmesin" diil "cevap yazmasın" olabilirdi. ozaman anlardım.. ama böyle olunca kafam karıştı

daha önce bi olay oldu da birilerine hitaben mi yazıldı. olabilir tabi

kimsenin dikkatini çekmediğine göre bi rahatsız benim. ama öyle.gereksiz işlerle uğraşıyorum ya nedir bu
Link to comment
Sosyal ağlarda paylaş

said:
Ra_d, 17 November 2003 18:42 tarihinde demiş ki:
baal abi sana bişi soracam sence string fonksiyonları integer variable'larla kullanılabilirmi? yani mantıklı geliyomu bu sana. kim dedi abi sana strlen strcpy kullan diye.
strlen "string length" demek abi bi string'in uzunluğunu verir.strcpy'de "string copy" demek.sting(character array) ile kullanılır bunlar.integer dediğin değer iki byte uzunluğunda bi değişken.daha data types'ı işlemediniz diyecem ama C diline data types ile başlanıyo.sonra arrayler geliyo.[hline]Mazhar Alanson-Cem Yılmaz:
Bir zamanlar fırtınalar estirirdim

ra_d farkındayım abi hepsinin :)
ben ondan soruyorum işte yukarda anlattığım komutu
bunun integer tiplisi yokmudur ?
yani 2 basamaklı integerin birini alsın falan ?
mod diyiceksin biliyorum ama
hani belki kenarda köşede wardır ? :P
Link to comment
Sosyal ağlarda paylaş

Benim dediğim olayı aynen 4 dört işlemde de kullanabilirsin. zaten senin yapmak istediğin olay ancak böyle yapılabilir. (Yani 4 işlem fonksiyonları tanımlaman gerekiyor.)
ha sen 100000 tabanında değil de tek tek rakamlarlada çarpma yapabilirsin ama çoook daha yavaş olur.
Haaa diyeceksin double yaklaşık 10^4000 hane almıyormu ? ama sadece ilk 18 'ziig göstere biliyor. ve sadece ilk 18 hane üzerinde işlem yapabiliyor !
3.....
string mang. macroları çoook yavaştırlar.(sayısal 'lara göre)
4....
Ve ve ve kimse kızmasın
ama benim iq'um 3-5 olduğu için sana'da ext. şunu söylemek istiyorum ASCII Table Nedir ? bi araştır...
Hafıza ne demek bi araştır...
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...