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

C'de Iki Boyutlu String


Öne çıkan mesajlar

Mesaj tarihi:
Simdi soyle bir sey yapmak istiyorum. Dort tane item var, bu itemlarin isimleri var. Bunun icin bir array yapiyorum.

char magazine[4][30];

simdi su kod calisiyor:

scanf("%s",magazine[0]);

ama sunu yapamiyorum

magazine[0] = "uykusuz";

bu nedendir? Googleladim falan ama cozumunu bulamadim. Verdigi hata da su:

said:
incompatible types when assigning to type ‘char[30]’ from type ‘char *’


edit: arrayin boyutu yanlis girmisim duzelttim.
Mesaj tarihi:
strcpy calisti.

sebebini de bir arkadas acikladi. atama yapinca tek karakterlik bloga stringi atamaya calisiomusuz. ilginc tabi. scanf karakter karakter yazdiriyormus o yuzden sorun olmuomus.
Mesaj tarihi:
Bu konu duruyorken baska konu acmayayim. Belki cani sakilan biri vardir yardim etmek ister.

http://cse.yeditepe.edu.tr/~byilmaz/spring2010/cse112/homeworks/cse112HW7.pdf

Odevim bu. Cidden bir turlu kafamda kuramadim nasil yapabilecegimi. Neyi hangi arrayde tutayim falan kafam karisti gitti. Soyle sadece girizgah yapan biri cikarsa yeter de artar bile, ben gerisini getiririm muhtemelen. Hadi bir el atin valla ocaginiza dustum.
Mesaj tarihi:
İşe tabiki kategorileri, altındaki ürünleri ve sepetini arraylere koyarak başlıycaksın. Sonra bi while loopun içinde scanf'le string alıp bunun ne olduğunu kontrol ediceksin. Bunun için baya uzun bi switch kullanıcaksın. Ayrıca hocanın söylediğine göre bu alım satım functionlarına arrayleri pointer alıp onların adreslerindeki objeye bakıcaksın. Yani void functionlarla dışarıyı değiştiriceksin.
Mesaj tarihi:
you are not allowed to use array diyor dikkatli yap bence :).
pointer hakkında fikir sahibi ol diye verilmiş heralde (use pointers wherever possible), linked list kullan hoca da sever kanımca.
Mesaj tarihi:
Use appropriate type of arrays de diyo ama. Benim anladığım işte çakallık yapıp global array tanımlayıp onun içini değiştirme diyo. Arrayde işlem yapıcaksan bile functionına pointer olarak al diyo. Veya senin dediğin gibi kendin class yaratıp, kendin linked list yapıcaksın. Her objenin içinde sonraki objeyi point eden bi variable olcak.
Mesaj tarihi:
yok daha data structures, oop falan almadik aldigimiz ilk cse dersi bu. orda hoca basitce seyi kastetmis iste her array de sonucta pointer ya, sadece syntax degistiricez. yani ben su an bu programi arraylerle normal yazsam onu pointerli haline donusturmem zor olmucak :p array[ i] yerine *(p+i) yazarim hallolur.

saolun yardimlar icin biraz daha ilerledim. bitiririm diye dusunuyorum muhtemelen. cok fazla amemeligi var ama.
Mesaj tarihi:
bence de El-Barto'nun dedigi gibi kastetmis hocan. beles array tanimlamaktansa pointer olarak atayip sonrasinda malloc, gerektigi yerde realloc falan kullanirsan hocanin istedgi gibi olur muhtemelen.
Mesaj tarihi:
Bende c içeren iki dersten a- ve b+ almıştım ama pointer olayını tekrar algılamam gerekiyodu her sınavdan önce ya :) Çok şükür artık ne pointerlar ne malloclar ne türevleri yok hayatımda.
Mesaj tarihi:
Bir sorum daha var simdi :)

kullanici komut giriyor diyelim, REMOVE SHAVER 2 seklinde, simdi hocamiz bunu gets ile almamizi istiyor. Benim takildigim nokta ise, bunlari nasil ayirabilecegim?

Yani gets tum satiri aliyordu yanlis bilmiyorsam, ben elimdeki "remove shaver 2" stringini nasil "remove" "shaver" "2" olarak ayirabilirim?
Mesaj tarihi:
split fonksiyonu yok sanirim, rastlamadim hic. sorunu da hallettim ama. icice iki tane dongu koyucam, biri null karaktere kadar donucek, icerideki de bosluk karakterine kadar. bu sekilde isimi gorebilirim sanirim.
×
×
  • Yeni Oluştur...