Şimdi Ara

C ÖDEVİM HAKKINDA YARDIMM

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
31
Cevap
0
Favori
975
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Selamlar arkadaşlar. C sınavımız yarın bende ona çalışıyorum şimdi şu an fonksyonlardayım daha ve birde ödevimiz var bugün akşama teslim edilcek , ödevin konusu

    ise array hakkında. Ben yetişirm sanmıştım array konusuna ama olmadı , dolayısıyla şu anda ödevi yapacak bilgiyer sahip değilim ; bilen arkadaşların yardımına

    ihtiyacm var , esirgemezlerse çok büyük iyilik yapmış olurlar.. işte ödev..



    Write a C program to reverse the digits of the elements of a two-dimensional 3X4 integer array A given below and store the resulting numbers into the corresponding elements of a two-dimensional 3X4 integer array B and print the arrays A and B.

    A = { {847, 3219, 23, 77 } , {9076, 171, 3, 100022}, {4, 8765, 888, 8834111}}

    Program will consist of a MAIN function and two functions PRINT and REVERSENUMBER.

    Within the MAIN function:
    . Declare a two-dimensional 3X4 integer array A and initialize its elements
    with the values given above.
    . Declare another 3X4 integer array B.
    . Pass array A to PRINT function as an argument.
    . Pass arrays A and B to REVERSENUMBER function as arguments.
    . Pass array B to PRINT function as an argument.

    Within the REVERSENUMBER:
    . Reverse the digits of each element of array A and store the resulting
    number into the corresponding element of array B.

    Within the PRINT:
    . Print the arrays A and B.

    HINT: Examine the following steps carefully.

    Let 847 be a value of any element of array A.

    847%10 --> 7 (last digit of the number, rightmost digit)
    847/10 --> 84 (new value of the number, integer division)
    84%10 --> 4 (second digit of the number)
    84/10 -->8 (new value of the number)
    8%10 --> 8 (first digit of the number)

    After doing the above calculations, digits of the number 847 are
    obtained in reverse order which are 7, 4 and 8.

    . Use a temporary one-dimensional integer array C to store the digits
    of an element of array A which are obtained in the order shown above
    (i.e., temporary array C elements will be initialized with numbers
    7, 4 and 8).
    . Convert the elements (which contains digits) of the temporary array
    C into a integer number (resulting number).
    . Store the resulting number into the corresponding element of array B.
    . Steps will be repeated until all the elements of array A are processed.



    < Bu mesaj bu kişi tarafından değiştirildi ares7 -- 9 Nisan 2011; 14:36:37 >







  • Hiçbir fikriniz yok mu? Hiç bir ilerleme kaydedemiyor musunuz?

    Bari soruyu Türkçe paylaşsaydınız bizimlede en azından problemi anladığınıza emin olsaydık.

    Sizin diziniz iki boyutlu bir dizi. Ancak şanslısınız ki sizden dinamik bir dizi istenmemiş bu yüzden bu diziyi oluşturmak sizin için çok zor olmayacak. Basit bir araştırma ile sizden istenen dizileri MAIN fonksiyonu altında oluşturabilirsiniz. İlk takıldığınız nokta bu ise ilk yardımı da seve seve yapmış bulunmaktayım. Daha devam edilmesini istiyorsanız şimdi siz birşey katmanız gerekmektedir. Şimdi sizden integer olarak 3x4 boyutlarında A ve B dizileri isteniyor;
    Diziyi şu şekilde düzenlersek daha net olacak bizim için;
    847, 3219, 23, 77
    9076, 171, 3, 100022
    4, 8765, 888, 8834111

     
    int A[ 3 ][ 4 ];
    int B[ 3 ][ 4 ];

    A[1][1]=847;
    A[1][2]=3219;
    A[1][3]=23;
    A[1][4]=77;
    ...
    ...
    ..
    A[3][3]=888;
    A[3][4]=8834111;


    Artık elimizde iki adet dizi var ve A Dizisinin elemanlarını yerleştirdik. Bunu ekrana yazdırmak içinde;

     
    int i;
    int j;

    for( i = 0; i < 3; i++ ) {
    for( j = 0; j < 4; j++ ) {
    printf( "%d", &A[ i ][ j ] );
    }
    }



    Kodları teorik olarak yazıyorum. Derleyici de çalıştırmadığım için bazı hatalar çıkabilir ancak ben mantığını anlatmaya çalışıyorum. Takıldığınız nokta olursa seve seve yardımcı olurum.
    Sıra sizde sonra tekrar ben yapıcam. Karşılıklı olarak bu ödevinizi tamamlayabileceğimizi düşünüyorum. Takıldığımız noktalarda arkadaşlarımızda yardımcı olacaktır eminim...

    Saygılarımla...



    < Bu mesaj bu kişi tarafından değiştirildi Vuraldesign -- 9 Nisan 2011; 14:54:16 >




  • çok teşekkür ederim yardımın için , ilgilendiğin için . Şu an fonksyonlardayım o biitince array çalışmaya başlayacağım , o zaman fikir sahibi olabilirm ben ve seninle

    karşılıklı olarak bitiririz ödevi ancak ödevin vakti dolar o ayrı. Gene de öğrenmiş oluruz. 5 gibi burda olur isen görüşürz. tekrar teşekkürler :)
  • Kodu paylaşıyorum :)

    İTÜ de mi okuyorsunuz ilk önce onu sorayım ?
  • Mesajınız ile ilgilendim ve çalışan kodu yolluyorum cpp olarak kaydedin ve çalıştırın :)
    #include <stdio.h> 
    #include <stdlib.h>



    int REVERSENUMBER(int a);


    int main(void)
    {
    int i;
    int j;

    int array [3][4] = { {23456, 3219, 23, 77 } , {9076, 171, 3, 100022}, {4, 8765, 888, 8834111} };
    int b [3][4];

    for( i = 0; i < 3 ; i++){

    printf("\n");
    for ( j = 0; j < 4 ; j++ ){

    printf("%8d",array[i][j]);

    }
    }

    for(i = 0; i < 3 ; i++){

    for (j = 0; j < 4 ; j++ ){

    b[i][j]=REVERSENUMBER(array[i][j]);

    }
    }


    for( int k = 0; k < 3 ; k++){

    printf("\n");
    for (int m = 0; m < 4 ; m++ ){

    printf("%8d",b[k][m]);

    }
    }


    getchar();
    getchar();
    return 0;
    }

    int REVERSENUMBER (int a)
    {
    int b ;
    int i=0;
    char sayi[10];

    for(int l =0; l<10;l++)
    sayi[l]=-1;


    i=0;

    while(a>0) {
    b = (a % 10);
    sayi[i] =b;
    a /= 10;
    i++;
    }
    int c;
    b=0;


    c=1;

    int ters[10];
    int alp =0;

    for(int jl =9;jl>=0;jl--)
    { if(sayi[jl]!=-1)
    { ters[alp]=sayi[jl];
    alp++; }
    else ters[jl]=-1;
    }

    for(int k=0;k<10;k++)
    { if(ters[k]!=-1)
    { c=ters[k];

    for(int s=0;s<k;s++)
    {
    c=c*10; }
    b=b+c;
    }
    else break;
    }
    return b;
    }


    dediğiniz işlemi yaptığını göreceksiniz :)

    Saygılarımla..

    Kodun tamamı bana aittir. Kodu hocanıza göndedirken benden yardım aldığınızı söylemeyi unutmayın :)


    teşekkür mesajınızı bekliyorum




  • quote:

    Orijinalden alıntı: ares7

    çok teşekkür ederim yardımın için , ilgilendiğin için . Şu an fonksyonlardayım o biitince array çalışmaya başlayacağım , o zaman fikir sahibi olabilirm ben ve seninle

    karşılıklı olarak bitiririz ödevi ancak ödevin vakti dolar o ayrı. Gene de öğrenmiş oluruz. 5 gibi burda olur isen görüşürz. tekrar teşekkürler :)


    Burdayım tabiki ne zaman isterseniz... Yanlış anlamayın bunu yapmakta ki sebebim sizin birşeyler öğrenmeniz ve forumun anlam kazanması isterseniz ben sizin için direk hazırlarım ancak o zaman sizin öğrenmeniz daha zor olur ve detayları kaçırabilirsiniz. Ancak birlikte hazırlarsak sınavda da karşınıza çıktığında çok daha rahat anlar ve hareket edersiniz...

    Saygılarımla...
  • Program kodu çalışıyorum cpp olarak kaydet :)
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • quote:

    Orijinalden alıntı: Arquitecto

    Mesajınız ile ilgilendim ve çalışan kodu yolluyorum cpp olarak kaydedin ve çalıştırın :)
    #include <stdio.h> 
    #include <stdlib.h>



    int REVERSENUMBER(int a);


    int main(void)
    {
    int i;
    int j;

    int array [3][4] = { {23456, 3219, 23, 77 } , {9076, 171, 3, 100022}, {4, 8765, 888, 8834111} };
    int b [3][4];

    for( i = 0; i < 3 ; i++){

    printf("\n");
    for ( j = 0; j < 4 ; j++ ){

    printf("%8d",array[i][j]);

    }
    }

    for(i = 0; i < 3 ; i++){

    for (j = 0; j < 4 ; j++ ){

    b[i][j]=REVERSENUMBER(array[i][j]);

    }
    }


    for( int k = 0; k < 3 ; k++){

    printf("\n");
    for (int m = 0; m < 4 ; m++ ){

    printf("%8d",b[k][m]);

    }
    }


    getchar();
    getchar();
    return 0;
    }

    int REVERSENUMBER (int a)
    {
    int b ;
    int i=0;
    char sayi[10];

    for(int l =0; l<10;l++)
    sayi[l]=-1;


    i=0;

    while(a>0) {
    b = (a % 10);
    sayi[i] =b;
    a /= 10;
    i++;
    }
    int c;
    b=0;


    c=1;

    int ters[10];
    int alp =0;

    for(int jl =9;jl>=0;jl--)
    { if(sayi[jl]!=-1)
    { ters[alp]=sayi[jl];
    alp++; }
    else ters[jl]=-1;
    }

    for(int k=0;k<10;k++)
    { if(ters[k]!=-1)
    { c=ters[k];

    for(int s=0;s<k;s++)
    {
    c=c*10; }
    b=b+c;
    }
    else break;
    }
    return b;
    }


    dediğiniz işlemi yaptığını göreceksiniz :)

    Saygılarımla..

    Kodun tamamı bana aittir. Kodu hocanıza göndedirken benden yardım aldığınızı söylemeyi unutmayın :)


    teşekkür mesajınızı bekliyorum




    Arkadaş hazırlamış kodları artık benim diğer mesajımın anlamı kalmadı. Umarım işinize yarar umarım arkadaşa teşekkür edersiniz...

    @Arquitecto
    Bu arada elinize sağlık...

    Saygılarımla...




  • Rica ederim :) yazılıcıyım kendim daha doğrusu, yüksek lisans yapıyorum aynı zamanda bilişim tek. öğretmeniyim, ama yazılıma ilgim var.

    Açıklamaları ekledim. umarım faydalı olur, açıklamaları ve ne işe yaradığını adım adım bakarsan sana faydası olacaktır.
  • ÇOK TEŞEKKÜRLER ARQUİTECTO :)
  • Rica ederim :)
    cevap yazdım p.m. , hata olmaması lazım, bir etiketi eksik kopyalamış olabilirsiniz.

    isterseniz buradan indirebilirsiniz cpp dosyasını :http://www.upload.gen.tr/d.php/www/w2v7j5d3/a.cpp.html


    indirdikten sonra paylaşın dosyayı sileceğim yüklediğim yerden
    quote:

    Orijinalden alıntı: ares7

    ÇOK TEŞEKKÜRLER ARQUİTECTO :)



    < Bu mesaj bu kişi tarafından değiştirildi AERN -- 9 Nisan 2011; 16:29:42 >




  • çalışıyor çok teşekkürler arquitecto
  • Rica ederim :)

    Elektrik elektronik mühendisliğinde mi okuyorsunuz ??

    Yine sorularınız olursa yardımcı olurum.
    quote:

    Orijinalden alıntı: ares7

    çalışıyor çok teşekkürler arquitecto
  • evet elektrik mühendisliğinde :)
  • anladım :) birinci sınıftasın o zaman :) dönemlik ders sanırım :) başka ödevler vardır, upload ettin mi ödevini ?
    quote:

    Orijinalden alıntı: ares7

    evet elektrik mühendisliğinde :)
  • evet donemlik ders. gönderdim ödevide . bi bunu yapamamıştım zaten diğerlerini yapmıştm.
  • İnşallah yüksek not alırsınız
    quote:

    Orijinalden alıntı: ares7

    evet donemlik ders. gönderdim ödevide . bi bunu yapamamıştım zaten diğerlerini yapmıştm.
  • sizin bizm okulla bi bağlantnz varmı? öğrencilik yaptınızmı veya öğretim üyeliği fln..
  • Yok hayır :) senin gibi başka birisi de yardım istemişti oradan biliyorum :))

    ben gazi üniversitesi bilişim enstitüsünde yüksek lisans yapıyorum
    quote:

    Orijinalden alıntı: ares7

    sizin bizm okulla bi bağlantnz varmı? öğrencilik yaptınızmı veya öğretim üyeliği fln..
  • Abilerim bu kodları direk aklınızdan mı yazıyorsunuz?
  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.