folder Tahribat.com Forumları
linefolder C - C++
linefolder C Den Anlıyan Muridlerden Acil Yardım İstiyorum



C Den Anlıyan Muridlerden Acil Yardım İstiyorum

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    scampjackal
    scampjackal's avatar
    Kayıt Tarihi: 05/Ocak/2010
    Erkek

    C dersinde çok zor durumdayım ödevlerimde yapamadıgım sorular var anlıyan arkadaşlar kodları yazarak  yardımcı olurlarsa sevinirim şimdiden teşekkürler

    <!-- /* Font Definitions */ @font-face {font-family:Calibri; mso-font-alt:Arial; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-1610611985 1073750139 0 0 159 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} @page Section1 {size:612.0pt 792.0pt; margin:70.85pt 70.85pt 70.85pt 70.85pt; mso-header-margin:35.4pt; mso-footer-margin:35.4pt; mso-paper-source:0;} div.Section1 {page:Section1;} -->

    Soru1: Bir karakter dizisi ve onun boyutunu parametre olarak alan ve dizideki tamsayıların (diğer karakterlerin değil) toplamını alan bir fonksiyon yazın.

    Örnek:

    Input:

    19

    w^12ae2yjh(q*3d“30r

     

    Output:

    47

    Input:

    15

    ab12us67sn20sa1

     

    Output:

    100

    Input:

    35

    hdq12=39r12kdqerjdj312a8032-mda=axp

     

    Output:

    8407

     

    Soru2: Bir tamsayı diziyi, dizinin boyutu ve iki tamsayı gösterge (pointers) parametresi olmak üzere girdi olarak alan bir fonksiyon yazın. Fonksiyon tek ve çift sayıların toplamını bu pointerlarda tutsun.

    Örnek:

    Input:

    9

    3-5-2-1-12-4-6-8-10

     

    Output:

    9-42

    Input:

    8

    4-6-2-8-12-24-46-10

     

    Output:

    0-112

    Input:

    5

    7-11-5-9-3

     

    Output:

    35-0

     

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    Hoca 15 dk işim var gidip geleyim bakayım sorularına.


    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    seretide
    seretide's avatar
    Kayıt Tarihi: 14/Haziran/2010
    Erkek

    scampjackal bunu yazdı:
    -----------------------------

    C dersinde çok zor durumdayım ödevlerimde yapamadıgım sorular var anlıyan arkadaşlar kodları yazarak  yardımcı olurlarsa sevinirim şimdiden teşekkürler

     

    Soru1: Bir karakter dizisi ve onun boyutunu parametre olarak alan ve dizideki tamsayıların (diğer karakterlerin değil) toplamını alan bir fonksiyon yazın.

    Örnek:

     

    Input:

    19

    w^12ae2yjh(q*3d“30r

     

    Output:

    47

    Input:

    15

    ab12us67sn20sa1

     

    Output:

    100

    Input:

    35

    hdq12=39r12kdqerjdj312a8032-mda=axp

     

    Output:

    8407

     

     





    -----------------------------

     

    w^12ae2yjh(q*3d“30r

     

    12+2+30+3=47 mi olucak yoksa 1+2+2+3+3+0 mı?

     

     

     

     


    Saçma
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    1. Sorunun cevabı:

    Visual Studio C++ 2008 derleyicisiyle derlendi çalışıyor.

     

    ------------------------------------

    Lutfen karakteri giriniz!

    asda23,123",423,3
    Lutfen katar²n uzunlu­unu giriniz
    17
    572

    ------------------------------------

     

    Kodları:

    #include "stdio.h"
    #include "stdlib.h" //atoi()
    #include "conio.h"    //getch()


    int kintbultopla(char *s, int uzunluk)
    {
        char rakamlar[]={'0','1','2','3','4','5','6','7','8','9',NULL};
        int toplam, sayac;
        char gecicisayi[10];
        short int oncekirakam;

        oncekirakam=0;
        toplam=0;
        sayac=0;
        for(int i=0; i<uzunluk; i++)
        {
            tekrar:;
            for(int j=0; j<10; j++)
            {
                if(*(s+i)==rakamlar[j])
                {
                    oncekirakam=1;
                    gecicisayi[sayac++]=*(s+i);
                    i++;
                    goto tekrar;
                }
            }
            if(oncekirakam==1)
            {
                gecicisayi[sayac]=NULL;
                toplam+=atoi(gecicisayi);
            }
            oncekirakam=0;
            sayac=0;
        }
        return toplam;
    }

    void main()
    {
        char kkatar[300];
        int uzunluk;

        puts("Lutfen karakteri giriniz!\n");
        gets(kkatar);
        puts("Lutfen katarın uzunluğunu giriniz");
        scanf("%d",&uzunluk);

        printf("%d",kintbultopla(&kkatar[0],uzunluk));



        getch();
    }


    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    2. sorunun cevabı: (Dinamik bellek yöntemiyle yaptım normal halinide yaparsın sanırım)

    İşte kodlar:

    -----------------------------------------------------------------

    #include "stdlib.h"
    #include "conio.h"
    #include "stdio.h"

    void tekvecifttopla(int *dizi, int diziboyut, int *tek, int *cift)
    {
       
        for (int i=0; i<diziboyut; i++)
        {
            if((*(dizi+i))%2==1)
            {
                *tek+=*(dizi+i);
            }
            else
            {
                *cift+=*(dizi+i);
            }
        }
    }


    int main()
    {
        int tek=0,cift=0,*tamsayidizi,diziboyutu;
        puts("Dizinin boyutunu giriniz");
        scanf("%d",&diziboyutu);
        tamsayidizi=(int*)calloc(diziboyutu,sizeof(int));
        puts("Dizinin elemanlarini giriniz");
        for (int i=0; i<diziboyutu; i++)
        {
            printf("%d. Elemani girin\n",i+1);
            scanf("%d",(tamsayidizi+i));
        }
        tekvecifttopla(tamsayidizi,diziboyutu,&tek,&cift);
        printf("Tek sayilar=%d\nCift sayilar=%d",tek,cift);
        free(tamsayidizi);
        getch();
    }

     

    ------------------------------------------------


    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    scampjackal
    scampjackal's avatar
    Kayıt Tarihi: 05/Ocak/2010
    Erkek

    DrKill bunu yazdı:
    -----------------------------

    2. sorunun cevabı: (Dinamik bellek yöntemiyle yaptım normal halinide yaparsın sanırım)

    İşte kodlar:

    -----------------------------------------------------------------

    #include "stdlib.h"
    #include "conio.h"
    #include "stdio.h"

    void tekvecifttopla(int *dizi, int diziboyut, int *tek, int *cift)
    {
       
        for (int i=0; i
        {
            if((*(dizi+i))%2==1)
            {
                *tek+=*(dizi+i);
            }
            else
            {
                *cift+=*(dizi+i);
            }
        }
    }


    int main()
    {
        int tek=0,cift=0,*tamsayidizi,diziboyutu;
        puts("Dizinin boyutunu giriniz");
        scanf("%d",&diziboyutu);
        tamsayidizi=(int*)calloc(diziboyutu,sizeof(int));
        puts("Dizinin elemanlarini giriniz");
        for (int i=0; i
        {
            printf("%d. Elemani girin\n",i+1);
            scanf("%d",(tamsayidizi+i));
        }
        tekvecifttopla(tamsayidizi,diziboyutu,&tek,&cift);
        printf("Tek sayilar=%d\nCift sayilar=%d",tek,cift);
        free(tamsayidizi);
        getch();
    }

     

    ------------------------------------------------


    -----------------------------

     

    hocam bizim daha ilk senemiz fazla anlamıyorum dev c++ kullanıorus o yönteme cevirebilirsen sevinirim konuyla ilgilendiğin için şimdiden teşekkürler

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    guru
    guru's avatar
    Kayıt Tarihi: 30/Mart/2007
    Erkek

     


    #include


    #include
    #include

    #define TEXTSIZE 512
    #define BOOL int
    #define TRUE 1
    #define FALSE 0
    #define ARRAY_SIZE(pArr) (sizeof((pArr)) / sizeof((*pArr)))
    int SumInteger(char *psz)
    {
        int i, sum, n, len;

        len = strlen(psz);

        for (sum = n = i = 0; i < len; ++i)
        {
            if(psz[i] >= '0' && psz[i] <= '9'){
            n *= 10;
            n += psz[i] - '0';
            }
            else{
               sum += n;
                n = 0;
            }
        }
        return sum + n;
    }

    void SumSD(int *pArray, int size, int *pSingle, int *pDouble)
    {
        int i;
        int s, d;
        for (s = d = i = 0; i < size; ++i)
        {
            if (pArray[i] & 1)
                s += pArray[i];
            else
                d += pArray[i];
        }
        *pSingle = s;
        *pDouble = d;
    }

    /*
        eger ilk soruyu denemek istiyorsa #define SUMINTEGER
        digerini denemek istiyorsan #define SUMARRAY
    */

    #define SUMINTEGER

    int main(int argc, char **argv)
    {
    #ifdef SUMINTEGER
        char psz[TEXTSIZE];
        int sum;
       
        printf("Type : ");
        gets(psz);
       
        sum = SumInteger(psz);

        printf("\n%d", sum);
    #elif define(SUMARRAY)
        int pArray[] = {14, 11, 10, 13};
        int s, d;
        SumSD(pArray, ARRAY_SIZE(pArray), &s, &d);
        printf("Single :%d, Double :%d", s, d);
    #endif
        getchar();
        return 0;
    }

     


    ..
Toplam Hit: 1642 Toplam Mesaj: 7