Close
Faqja 0 prej 2 FillimFillim 12 FunditFundit
Duke shfaqur rezultatin -9 deri 0 prej 16
  1. #1
    Programues Softueresh Maska e edspace
    Anėtarėsuar
    04-04-2002
    Vendndodhja
    Filadelfia, SHBA
    Postime
    2,565

    Sfida nga Pr-Tech: Mbledhja e dy numrave 256 shifror

    Sfida ėshtė hapur nga Grupi Teknologjik i Prishtinės. Po e hedhim nė forum qė anėtarėt tė mund tė diskutojnė zgjidhjet dhe tė mėsojnė nga eksperienca e njėri-tjetrit. Tema do qėndrojė e mbyllur gjatė kohės qė sfida ėshtė e hapur dhe zgjidhja juaj nuk duhet bėrė publike gjatė kėsaj kohe. Kur tė skadojė afati i lejuar, tema do hapet dhe pastaj mund tė postoni pėrgjigjet tuaja dhe tė diskutoni me anėtarėt e tjerė.

    Mbledhja e dy numrave 256 shifror
    Krijuar/Pėrpiluar nga: Genc DOKO - gdk ET pr-tech PIKĖ net
    Problemi eshte i hapur
    Prej:01/03/2005 Deri:15/03/2005


    Ju ka shkuar mendja ndonjėherė, apo keni pasur ndonjėherė nevojėn t'i mblidhni dy numra tė mėdhenj? P.sh. numra pėrafėrsisht 256 shifror? Nė kėtė sfidė duheni ta bėni po kėtė gjė. Ju duheni ta krijoni njė skript e cila bėn mbledhjen e dy numrave tė cilėt janė 256 shifror. Merreni parasysh qė notacioni shkencor nuk lejohet tė shfrytėzohet pėr kėtė sfidė. Poashtu, numrat tė cilėt duhet mbledhur duhet tė jenė pozitivė. Numrat me pikė dhjetore (float/double) nuk janė tė pėrfshirė nė kėtė sfidė. Pėr ata qė planifikojnė ta zgjedhin kėtė sfidė nė gjuhėn programuese C, merreni parasysh qė vlera maksimale qė mundet tė vendoset me njė variabėl tė tipit unsigned long long ėshtė: 18,446,744,073,709,551,616 (qė ėshtė 2^64). Pra, pėr zgjedhjen e kėsaj sfideje nuk mundeni ta fusni tėrėsisht numrin brenda njė variabile tė vetme.

    Programi mundet tė shkruhet nė C, C++, Java, Visual Basic (dhe VB .NET), C#. Nėse programi juaj pėrmban mė shumė se njė skedar atėherė le tė arkivohet si tar.gz apo zip dhe si i tillė le tė dėrgohet nė programim ET pr-tech PIKĖ net.

    Rezultatet dhe kodet e sakta do tė paraqiten (1) njė javė mė sė largu pas skadimit tė afatit tė problemit.
    Edi

  2. #2
    Programues Softueresh Maska e edspace
    Anėtarėsuar
    04-04-2002
    Vendndodhja
    Filadelfia, SHBA
    Postime
    2,565

    Zgjidhja ime nė C++

    Kėtu ėshtė zgjidhja ime nė C++. Me pak fjalė, ndėrtova njė klasė nrmadh (nr i madh) qė nuk kufizon numrin e shifrave. Struktura e tė dhėnave pėrbėhet nga njė listė me elementė tė tipit char. (std::list). Pra, ēdo shifėr e numrit ėshtė njė element nė listė. Mbledhja kryhet me operatorin + tė klasės nrmadh.

    Forumi bėn disa ndarje nė formatimin e kodit, prandaj pėrdorni skedarėt e bashkėngjitur nė ZIP nėse doni tė pėrpiloni programin.

    main.cpp
    Kodi PHP:
    // Programi: Sfida e Javes nga Grupi Teknologjik i Prishtines
    //             Mbledhja e dy numrave 256 shifror
    // Data: 15/03/05
    // Perpiluesi: Dev-C++ 4.9.9.1 dhe MSVC++.NET
    // Pershkrimi: Programi ben te mundur mbledhjen e dy numrave me nje numer
    //               te pakufizuar shifrash. I vetmi kufizim eshte memorja dhe 
    //               maksimumi i elementeve ne STD::LIST. Testuar me sukses me 
    //               numra 2000 shifror. 
    // Perdorimi: Ndrysho numrat nr1 dhe nr2, perpilo dhe ekzekuto programin
    //            Klasa nrmadh mund te perdoret njesoj si tipet int, float, long

    #include <iostream> 
    #include "nrmadh.h" // Numer i madh

    int main()
    {
        
    // krijojme dy numra te medhenj 
        
    nrmadh nr1 nrmadhstring("12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"));

        
    nrmadh nr2 nrmadhstring("12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"));

        
    nrmadh shuma nr1 nr2// gjejme shumen

        // nxjerrim rezultatin ne ekran
        
    cout << "Nr 1 = " << nr1 << endl 
        
    cout << "Nr 2 = " << nr2 << endl ;
        
    cout << "Shuma = " << shuma << endl ;

        return 
    EXIT_SUCCESS;


    nrmadh.h
    Kodi PHP:
    #ifndef NR_MADH_H
    #define NR_MADH_H

    #include<list> // lista qe perdoret per shifrat e numrave
    #include<string> // vargjet

    using namespace std;

    // Klasa per numra te medhenj
    //
    class nrmadh
    {
    public:
        
    nrmadh(){} // ndertuesi
        
    ~nrmadh(){_numri.clear();} // shkaterruesi
        
    nrmadh(const string v);  // ndertuesi nga nje varg
        
    nrmadh operator + (nrmadh d); // operatori i mbledhjes (+)
        
    string si_varg(); // funksion ndihmes qe kthen numrin ne varg
                          // ndihmon operatorin <<

    private:
        list<
    char_numri// lista zinxhir me shifrat e numrit
                           // perdoret char dhe jo int sepse char ze me pak memorje
    };

    // operatori i daljes per nrmadh
    ostream operator << (ostream outnrmadh n);

    #endif 

    nrmadh.cpp
    Kodi PHP:

    #include<sstream> // perrua vargjesh (string stream)

    #include "nrmadh.h"

    nrmadh::nrmadh(const string v)
    {
        
    // kontrollojme vargun per shifra jo-numerike
        
    string::size_type i v.find_first_not_of("0123456789");

        
    // nqs gjejme shifra jo-numerike (shkronja, etj), nuk e krijojme numrin
        
    if( != string::npos ) return;

        
    // per cdo shifer te vargut shtojme nje element te ri ne liste
        
    for ( 0v.length(); ++)
        {
            
    _numri.push_back(atoi(v.substr(i,1).c_str()));
        }
    }

    nrmadh nrmadh::operator+ (nrmadh d)
    {
        
    nrmadh rez// rezultati qe permban shumen
        
    list<char>::reverse_iterator i _numri.rbegin(); // perseritesi i nr 1
        
    list<char>::reverse_iterator j d._numri.rbegin(); // perseritesi i nr 2

        
    char shuma 0// shuma e dy shifrave, perdoret edhe per tepricen mbi 9

        // fillojme me njeshet, vazhdojme me dhjeteshet, qindeshet ...
        // deri sa nuk ka me numra per te mbledhur
        // njesoj sikur te kishim mbledhur numrat me dore
        
    while( != _numri.rend() || != d._numri.rend() )
        {
            if( 
    != _numri.rend() ) // nqs nuk kemi arritur fundin e nr 1
            
    {
                
    shuma += *i;         // shtoje ate tek shuma
                
    i++;                  // vazhdo me shifren tjeter
            
    }

            if( 
    != d._numri.rend() ) // nqs nuk kemi arritur fundin e nr 2
            
    {
                
    shuma += *j;         // shtoje ate tek shuma
                
    j++;                 // vazhdo me shifren tjeter
            
    }

            
    // shtojme shumen (0-9) si shifer te rezultatit
            
    rez._numri.push_front(shuma 10);
            
    shuma shuma 10// ruajme tepricen per shifren tjeter
        
    }

        if( 
    shuma // nqs shuma e dy shifrave te fundit ka teprice
        
    {
            
    rez._numri.push_front(shuma); // shtojme tepricen tek rezultati
        
    }

        return 
    rez// ne fund kthejme rezultatin/shumen
    }

    string nrmadh::si_varg()
    {
        list<
    char>::iterator i// perseritesi i listes
        
    ostringstream perua;    // perua per rrjedhjen e vargut

        // cikel per cdo shifer te numrit, duke filluar majtas
        
    for(_numri.begin(); != _numri.end(); ++)
        {
            
    perua << static_cast<short>(*i); // hedhim shifren si numer ne perua
        
    }
        return 
    perua.str(); // kthejme perroin e numrave ne varg
    }

    // operatori i daljes per nje numer te madh (nrmadh)
    ostream operator << (ostream outnrmadh n)
    {
        
    out << n.si_varg(); // perdorim funksionin ndihmes si_varg()
        
    return out;         // kthejme perroin e daljes

    Kodin mė lart e gjeni nė ZIP-in e bashkėngjitur.
    Skedarėt e Bashkėngjitur Skedarėt e Bashkėngjitur
    Ndryshuar pėr herė tė fundit nga edspace : 15-03-2005 mė 05:05
    Edi

  3. #3
    Programues Softueresh Maska e edspace
    Anėtarėsuar
    04-04-2002
    Vendndodhja
    Filadelfia, SHBA
    Postime
    2,565

    Zgjidhja e Edon Kelmendit nė C

    Kodi PHP:
    /*
    * Autor: Edon Kelmendi (edon ET albalinux PIKĖ org)
    */

    #include <stdio.h>
    #include <stdlib.h> /* rand() */
    #include <time.h> /* time() */

    #define SA 256 /* Sa shifror po don me qene numri */
    int main()
    {
      
    unsigned int m1[SA]; /* Numri i pare */
      
    unsigned int m2[SA]; /* Numri i dyte */
      
    unsigned int rez[SA]; /* Rezultati */
      
    unsigned int tmp

      
    int j,k/* Na vyn per me njeh */
      
      /*
       * Ktu po e gjenerojme numrin e gat $SA 
       */
      
      
    srand(time(NULL));
      
      for(
    j=0;j<SA;j++) 
        
    m1[j] = (int) (10.0*rand()/(RAND_MAX+1.0));
      if(
    m1[0] == 0)
        
    m1[0] = 5;
      for(
    j=0;j<SA;j++) 
        
    m2[j] = (int) (10.0*rand()/(RAND_MAX+1.0));
        
      

      
    /*
       * Ktu e printojme atE ne stdout
       */
      
      
    for(j=0;j<SA;j++)
        
    printf("%d"m1[j]);
      
    printf("\n+\n");
      for(
    j=0;j<SA;j++)
        
    printf("%d"m2[j]);
      
      
    /*
       * Ktu vjen tru algoritmi
       */

      
    for(j=SA;j>=0;j--) {
        if(
    j==SA)
          
    j--;
        
        
    tmp m1[j] + m2[j]; 
        
        
    /*
         * Qka nese mledhja e dy numrave eshte
         * ma e madhe se 10, msusja ka thon qe 
         * duhet me thon edhe "nja n'men" edhe
         * me ja shtu nja ati tjetrit (majtas).
         * qashtu ja bojm edhe na.
         */
        
        
    if(tmp>=10) {
          
          
    /*
           * Nese jemi te numri i fundit,
           * s'kemi ma kujt me i shtu, duhet
           * me qit qata.
           */
          
          
    if(j==0)
            
    rez[j] = tmp;
          else {
            
    rez[j] = tmp 10;
            
    m1[j-1] = m1[j-1] + 1;
          }
        }
        else
          
    rez[j] = tmp;
      }
      
      
    /*
       * Printo rezultatin n'stdout, edhe
       * u KRY.
       */

      
    printf("\n=\n");
      for(
    j=0;j<SA;j++)
        
    printf("%d"rez[j]);
      
    printf("\n");

    Edi

  4. #4
    Programues Softueresh Maska e edspace
    Anėtarėsuar
    04-04-2002
    Vendndodhja
    Filadelfia, SHBA
    Postime
    2,565

    Zgjidhja e Kreshnik Matit nė Java

    Kodi PHP:
    import java.util.*;
    import java.io.*;
    import javax.swing.*;
    import java.math.*;

    public class 
    GjigandMbledhesi
    {
      public static 
    void main(String[] args)
      {
        
    Vector listGjigandesh = new Vector();
        
    String dialogu1dialogu2vlera "";
        
    BigDecimal shumaGjigande;
        
    BigDecimal gjigandi1 nullgjigandi2 null;
        
        if(
    args.length == 0)
        {
          
    dialogu1 JOptionPane.showInputDialog("Fut numrin e pare");
          
    dialogu2 JOptionPane.showInputDialog("Fut numrin e dyte");
          
          try
          {
            
    gjigandi1 = new BigDecimal(dialogu1);
            
    gjigandi2 = new BigDecimal(dialogu2);
          }catch (
    NumberFormatException nfe)
          {
            
    JOptionPane.showMessageDialog(null,"Numra miku im jo germa");
            
    System.exit(0);
          }
          catch(
    Exception e)
          {
            
    JOptionPane.showMessageDialog(null,"Fut numra dhe shtyp OK");
            
    System.exit(0);
          }
          
    shumaGjigande gjigandi1.add(gjigandi2);
          
    JOptionPane.showMessageDialog(nullshumaGjigande.toString() );
          
          
    System.exit(0);
        }
        else if(
    args.length == 1)
        {
          
    dialogu1 args[0];
          
    dialogu2 JOptionPane.showInputDialog("Fut numrin e dyte");
          
          try
          {
            
    gjigandi1 = new BigDecimal(dialogu1);
            
    gjigandi2 = new BigDecimal(dialogu2);
          }catch (
    NumberFormatException nfe)
          {
            
    JOptionPane.showMessageDialog(null,"Numra miku im jo germa");
            
    System.exit(0);
          }
          catch(
    Exception e)
          {
            
    JOptionPane.showMessageDialog(null,"Fut numra dhe shtyp OK");
            
    System.exit(0);
          }
          
    shumaGjigande gjigandi1.add(gjigandi2);
          
    JOptionPane.showMessageDialog(nullshumaGjigande.toString() );
          
          
    System.exit(0);
        }
        else if(
    args.length 1)
        {
          
    shumaGjigande = new BigDecimal("0");
          for(
    int i 1args.length++)
          {
            try
            {
              
    BigDecimal gjigandi = new BigDecimal(args[i]);
              
    shumaGjigande shumaGjigande.add(gjigandi);
            }catch (
    NumberFormatException nfe)
            {
              
    System.out.println("Numra miku im jo germa");
              
    System.exit(0);
            }
            catch(
    Exception e)
            {
              
    JOptionPane.showMessageDialog(null,"Fut numra dhe shtyp OK");
              
    System.exit(0);
            }
          }
          
    JOptionPane.showMessageDialog(nullshumaGjigande.toString() );
        }
        
    System.exit(0);
      }

    Edi

  5. #5
    i/e regjistruar
    Anėtarėsuar
    11-10-2004
    Postime
    39
    Zgjidhja e Kreshnikut nuk mund te konsiderohet zgjidhje.
    Ideja e problemit eshte qe te shkruhet nje klase e ngjashme me BigDecimal, jo te perdoret klasa e gatshme nga libraria.

  6. #6
    Programues Softueresh Maska e edspace
    Anėtarėsuar
    04-04-2002
    Vendndodhja
    Filadelfia, SHBA
    Postime
    2,565
    Zgjidhja e Edonit ėshtė e ngjashme me atė timen, por Edoni i ruan shifrat nė matrica ndėrsa unė pėrdora listėn zinxhir (linked list). Zgjidhja ime ėshtė nė C++ me orientim objektesh ndėrsa nė C mungojnė objektet dhe ėshtė zgjidhje proceduriale.

    Njė ndryshim tė vogėl qė do bėja nė kodin e Edonit, ėshtė tek tipi i matricės. Edoni pėrdor "unsinged int" pėr ēdo shifėr. Njė unsinged int nė kompjuterat e sotėm mund tė jetė 4 ose 8 bajts, 32 ose 64 bite. Njė shifėr ėshtė 0-9 dhe mund tė shprehet me vetėm 4 bite ose gjysėm bajt (0000-1001). Mqns C dhe C++ nuk kanė tipe pėr gjysėm bajt, tipi mė i pėrshtatshėm ėshtė 1 bajt.

    Pra, nė programin e Edonit po shkojnė dėm 3 ose 7 bajt (varet nga kompjuteri). Programi do harxhojė mė shumė memorje seē duhet dhe mbledhja do jetė mė e ngadaltė.

    Njė zgjidhje mė e mirė ėshtė qė unsigned int, tė kthehet nė short int, qė zakonisht pėrdor vetėm 2 bajts. Njė zgjidhje akoma mė e mirė ėshtė pėrdorimi i tipit char, qė kėrkon vetėm 1 bajt hapėsirė. Ky ėshtė edhe tipi qė pėrdoret nė programin tim.

    Char mund tė duket disi i ēuditshėm sepse zakonisht pėrdoret pėr shkronja, por pėr gjuhėn e programimit shkronjat kthehen nė numra, prandaj ėshtė njėsoj sikur tė pėrdornim int me 1 bajt. Nėse pėrdoren char, duhet patur parasysh qė tė printohen si int dhe jo si shkronja. Pėr tė zgjidhur kėtė problem, mjafton tė kthehet nė short para se tė printohet.
    psh:
    Nė C :
    char germa = 'A';
    printf("%c\n", germa); // kjo do printoje "A"
    printf("%d\n", germa); // kjo do printojė "65" (kodi ASCII pėr A)

    Nė C++ :
    char germa = 'A';
    cout << germa << endl; // kjo do printoje "A"
    cout << static_cast(germa) << endl; // kjo do printojė 65 (kodi ASCII pėr A)


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

    Kreshniku ka gjetur rrugėn e shkurtėr duke pėrdorur tipin e gatshėm BigDecimal tė Javas. Kjo mbase e humbet vlerėn e sfidės por na mėson qė tė mendohemi se cila gjuhė na pėrshtaten mė mirė pėr problemin qė duam tė zgjidhim. Java na ofron BigDecimal ndėrsa C dhe C++ nuk kanė tipe tė tilla tė gatshme.

    Njė gjuhė akoma mė e mirė pėr funksionet e aritmetikės ėshtė LISP sepse ofron precizion/saktėsi tė pafund pėr tė gjitha tipet numerike. Kjo ėshtė njė nga arsyet pse LISP pėrdorej edhe pėr Autocad, program qė pėrdoret nė inxhinieri dhe arkitekturė. Tani mė duket se dhe Autocad ėshtė hedhur nė gjuhėt moderne me orientim objektiv.
    Ndryshuar pėr herė tė fundit nga edspace : 16-03-2005 mė 14:44
    Edi

  7. #7
    Analog Brain Maska e josif
    Anėtarėsuar
    26-02-2004
    Vendndodhja
    madagaskar
    Postime
    245
    Zgjidhja ime ne C:

    PS: E kam derguar qe ne diten e pare dhe me cuditi fakti qe nuk eshte postuar.
    Shpresoj te jete gabim.

    Kodi PHP:
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>

    #define vlera(P)  ((P)-'0')

    int main(int argcchar argv[]){

    char numri1 argv[1];
    char numri2 argv[2];
    char rezultatiNULL;

    int gjat_num1strlen(numri1);
    int gjat_num2strlen(numri2);
    int gjat_rez gjat_num1 gjat_num2 gjat_num1 : ( gjat_num2 gjat_num1 gjat_num2 :
      (
    vlera(numri1[0]) + vlera(numri2[0]) >=10 gjat_num1+gjat_num1 ) );

    int mbetja=0v1=0v2=0i1=i2=0i_r=0;

    printf("\n   %s\n+  %s\n"numri1numri2);
    printf("________________________\n\n");

    rezultati = (char *)malloc((gjat_rez+1)*sizeof(char));

    for(
    i1=gjat_num1-1i2=gjat_num2-1i_r=gjat_rez-1i1>=|| i2>=0i1--,i2--,i_r--){

     
    int totali=0;

     
    v1 i1>=vlera(numri1[i1]) : 0;
     
    v2 i2>=vlera(numri2[i2]) : 0;

     
    totali v1 v2 mbetja;
            
    rezultati[i_r] = ( totali 10 ) + '0';
            
    mbetja totali >= 10 totali/10 ;
    }

    if(
    mbetjarezultati[0]= mbetja '0';

    rezultati[gjat_rez]='\0';
    printf("  %s\n\n"rezultati);
    free(rezultati);

    return 
    0;

    He walks among us, but He is not one of us ...

  8. #8
    Programues Softueresh Maska e edspace
    Anėtarėsuar
    04-04-2002
    Vendndodhja
    Filadelfia, SHBA
    Postime
    2,565
    Do tė kenė marrė me sy tė keq o Josif, dhe i testojnė mirė programet e tua :D
    Unė bėra testet e mia dhe programi yt punon mirė. Njė gabim i vogėl ėshtė qė nuk kontrollon nėse argumentat janė numra apo jo. psh: "mblidh.exe forumi shqiptar" punon edhe pse argumentat nuk janė numra. Nėse nuk i jepen argumenta, programi mbyllet papritur me gabime tė memorjes.

    Disa vėrejtje tė pėrgjithshme:
    C konsiderohet gjuhė e pasigurtė (unsafe) dhe programi bėhet akoma mė i pasigurtė kur merr nė dore rezervimin e memorjes me malloc, calloc, etj. Nqs do pėrdorėsh funksione tė tilla, duhet tė kontrollosh nėse memorja u rezervua me sukses para se ta pėrdorėsh atė, sidomos kur kėrkon tė rezervosh hapėsira tė mėdha.

    Njė gabim mė serioz pėr mendimin tim ėshtė stili qė pėrdor kur shkruan programet. Vėrtet je duke pėrdorur C por kjo nuk do tė thotė se duhet tė shkruash gjysėm faqe kod vetėm nė njė rresht. Kėto gjėra bėheshin para 10-20 vjetėsh, kur programuesit e vjetėr ishin mėsuar tė shkruanin programe sa mė te shkurtėr qė tė kursenin memorje, ndėrsa sot pėrpiluesat janė mė tė fuqishėm, procesorėt mė tė shpejtė, memorje me bollėk e nuk ka asnjė arsye pėr tė ngucur pesė rreshta nė njė tė vetėm.

    Gjuha programuese nuk ėshtė vetėm pėr tė komunikuar me kompjuterin, por edhe me programues tė tjerė qė do lexojnė e ndryshojnė kodin tėnd nė tė ardhmen. Ėshtė detyra e programuesit qė tė shkruajė kod sa mė tė qartė dhe mė tė lehtė pėr t'u kuptuar nga programuesit e tjerė.

    Ja disa pjesė tepėr tė paqarta nė programin tėnd:
    Kodi:
    int gjat_rez = gjat_num1 > gjat_num2 ? gjat_num1 : ( gjat_num2 > gjat_num1 ? gjat_num2 : (vlera(numri1[0]) + vlera(numri2[0]) >=10 ? gjat_num1+1 : gjat_num1 ) );
    Sado i saktė tė jetė kodi, sado i qartė tė jetė pėr ty, kodi mė lart ėshtė i papranueshėm dhe nuk mendoj se kam parė ndonjė rresht mė tė paqartė deri tani. Mė kujtoi programet e LISP-it kur e pashė pėr herė tė parė. Jam i sigurtė se edhe ti qė e ke shkruar kodin, pas dy javėsh do ta shikosh prapė dhe nuk do ta kuptosh se ēfarė ke dashur tė bėsh. Operatori (?:) nga vetė natyra konsiderohet i vėshtirė pėr tė lexuar. Ti ke kombinuar 3 operatorė tė tillė nė njė rresht. Pėr mendimin tim, ēdo rresht i shkruar nė gjuhėt programuese duhet tė lexohet me njė fjali tė vetme nė gjuhėt natyrale.

    Pjesė tė tjera qė vėshtirėsojnė leximin e programit qė ke postuar mė lart:

    Kodi:
    int mbetja=0, v1=0, v2=0, i1=0 , i2=0, i_r=0; 
    ...
    for(i1=gjat_num1-1, i2=gjat_num2-1, i_r=gjat_rez-1; i1>=0 || i2>=0; i1--,i2--,i_r--){
    Variablat ėshtė mirė tė deklarohen nė rresht mė vete dhe tė shkruhet njė koment pėr tė dhėnat qė do mbajnė.

    Cikli for ėshtė tepėr i gjatė, operatorėt dyjor duhen veēuar me vėnde bosh, pas presjeve duhet lėnė vend bosh.

    Nėse pėrdor njė stil tė caktuar, pėrdore atė pėr tė gjithė programin. Ēfarėdo stili tė pėrdorėsh, mos harro tė shkruash komente jo vetėm pėr programuesit e tjerė por edhe pėr programuesit fillestarė qė lexojnė kodin nė forum.

    Pėr disa stile tė pranueshme pėr C dhe C++, hidhi njė sy google.

    Pėr Java: Code Conventions for Java
    Ndryshuar pėr herė tė fundit nga edspace : 17-03-2005 mė 12:52
    Edi

  9. #9
    Analog Brain Maska e josif
    Anėtarėsuar
    26-02-2004
    Vendndodhja
    madagaskar
    Postime
    245
    Edspace, mos i meso kompilerit cfare te beje

    Rreshti qe e cilesove te veshtire eshte ne te vertete i thjeshte per tu kuptuar nese do ta besh dicka te tille.

    Ka dicka ne jete qe quhet: precision !!!

    P.S: Kishte ndodhur nje problem dhe pr-tech e publikoi kodin duke kerkuar ndjese.
    Ndryshuar pėr herė tė fundit nga josif : 17-03-2005 mė 13:17
    He walks among us, but He is not one of us ...

  10. #10
    Analog Brain Maska e josif
    Anėtarėsuar
    26-02-2004
    Vendndodhja
    madagaskar
    Postime
    245
    Mos ke filluar gje pune si mesues filloreje

    Citim Postuar mė parė nga edspace
    Do tė kenė marrė me sy tė keq o Josif, dhe i testojnė mirė programet e tua
    Unė bėra testet e mia dhe programi yt punon mirė. Njė gabim i vogėl ėshtė qė nuk kontrollon nėse argumentat janė numra apo jo. psh: "mblidh.exe forumi shqiptar" punon edhe pse argumentat nuk janė numra. Nėse nuk i jepen argumenta, programi mbyllet papritur me gabime tė memorjes.

    Disa vėrejtje tė pėrgjithshme:
    C konsiderohet gjuhė e pasigurtė (unsafe) dhe programi bėhet akoma mė i pasigurtė kur merr nė dore rezervimin e memorjes me malloc, calloc, etj. Nqs do pėrdorėsh funksione tė tilla, duhet tė kontrollosh nėse memorja u rezervua me sukses para se ta pėrdorėsh atė, sidomos kur kėrkon tė rezervosh hapėsira tė mėdha.

    Njė gabim mė serioz pėr mendimin tim ėshtė stili qė pėrdor kur shkruan programet. Vėrtet je duke pėrdorur C por kjo nuk do tė thotė se duhet tė shkruash gjysėm faqe kod vetėm nė njė rresht. Kėto gjėra bėheshin para 10-20 vjetėsh, kur programuesit e vjetėr ishin mėsuar tė shkruanin programe sa mė te shkurtėr qė tė kursenin memorje, ndėrsa sot pėrpiluesat janė mė tė fuqishėm, procesorėt mė tė shpejtė, memorje me bollėk e nuk ka asnjė arsye pėr tė ngucur pesė rreshta nė njė tė vetėm.

    Gjuha programuese nuk ėshtė vetėm pėr tė komunikuar me kompjuterin, por edhe me programues tė tjerė qė do lexojnė e ndryshojnė kodin tėnd nė tė ardhmen. Ėshtė detyra e programuesit qė tė shkruajė kod sa mė tė qartė dhe mė tė lehtė pėr t'u kuptuar nga programuesit e tjerė.

    Ja disa pjesė tepėr tė paqarta nė programin tėnd:
    Kodi:
    int gjat_rez = gjat_num1 > gjat_num2 ? gjat_num1 : ( gjat_num2 > gjat_num1 ? gjat_num2 : (vlera(numri1[0]) + vlera(numri2[0]) >=10 ? gjat_num1+1 : gjat_num1 ) );
    Sado i saktė tė jetė kodi, sado i qartė tė jetė pėr ty, kodi mė lart ėshtė i papranueshėm dhe nuk mendoj se kam parė ndonjė rresht mė tė paqartė deri tani. Mė kujtoi programet e LISP-it kur e pashė pėr herė tė parė. Jam i sigurtė se edhe ti qė e ke shkruar kodin, pas dy javėsh do ta shikosh prapė dhe nuk do ta kuptosh se ēfarė ke dashur tė bėsh. Operatori (? nga vetė natyra konsiderohet i vėshtirė pėr tė lexuar. Ti ke kombinuar 3 operatorė tė tillė nė njė rresht. Pėr mendimin tim, ēdo rresht i shkruar nė gjuhėt programuese duhet tė lexohet me njė fjali tė vetme nė gjuhėt natyrale.

    Pjesė tė tjera qė vėshtirėsojnė leximin e programit qė ke postuar mė lart:

    Kodi:
    int mbetja=0, v1=0, v2=0, i1=0 , i2=0, i_r=0; 
    ...
    for(i1=gjat_num1-1, i2=gjat_num2-1, i_r=gjat_rez-1; i1>=0 || i2>=0; i1--,i2--,i_r--){
    Variablat ėshtė mirė tė deklarohen nė rresht mė vete dhe tė shkruhet njė koment pėr tė dhėnat qė do mbajnė.

    Cikli for ėshtė tepėr i gjatė, operatorėt dyjor duhen veēuar me vėnde bosh, pas presjeve duhet lėnė vend bosh.

    Nėse pėrdor njė stil tė caktuar, pėrdore atė pėr tė gjithė programin. Ēfarėdo stili tė pėrdorėsh, mos harro tė shkruash komente jo vetėm pėr programuesit e tjerė por edhe pėr programuesit fillestarė qė lexojnė kodin nė forum.

    Pėr disa stile tė pranueshme pėr C dhe C++, hidhi njė sy google.

    Pėr Java: Code Conventions for Java
    He walks among us, but He is not one of us ...

Faqja 0 prej 2 FillimFillim 12 FunditFundit

Tema tė Ngjashme

  1. Konfederata e Artizanatit Shqiptar
    Nga pekomeri nė forumin Arti shqiptar
    Pėrgjigje: 3
    Postimi i Fundit: 16-10-2006, 07:16
  2. Sfidė: Mbledhja e numrave romak
    Nga edspace nė forumin Arti i programimit
    Pėrgjigje: 0
    Postimi i Fundit: 16-06-2006, 17:55
  3. Pėrgjigje: 5
    Postimi i Fundit: 18-11-2005, 10:08
  4. Zbardhet mbledhja e Byrosė qė zgjodhi pasardhėsin e Enverit
    Nga shigjeta nė forumin Historia shqiptare
    Pėrgjigje: 3
    Postimi i Fundit: 27-10-2005, 08:34
  5. Deshton mbledhja e ambasadoreve
    Nga Xhuxhumaku nė forumin Problematika shqiptare
    Pėrgjigje: 0
    Postimi i Fundit: 22-08-2005, 17:47

Regullat e Postimit

  • Ju nuk mund tė hapni tema tė reja.
  • Ju nuk mund tė postoni nė tema.
  • Ju nuk mund tė bashkėngjitni skedarė.
  • Ju nuk mund tė ndryshoni postimet tuaja.
  •