Close
Duke shfaqur rezultatin -19 deri 0 prej 16
  1. #1
    Programues Softueresh Maska e edspace
    Anėtarėsuar
    04-04-2002
    Vendndodhja
    Filadelfia, SHBA
    Postime
    2,573

    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,573

    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,573

    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,573

    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,573
    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,573
    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 ...

  11. #11
    Programues Softueresh Maska e edspace
    Anėtarėsuar
    04-04-2002
    Vendndodhja
    Filadelfia, SHBA
    Postime
    2,573
    Nėse nuk tė pėlqejnė komentet/kritikat, mos posto kod nė forum. Ato qė shkruajta mė lart janė vėrejtje e kėshilla qė mė janė bėrė edhe mua dhe i shkruajta nė forum pėr ata qė kanė dėshirė tė mesojnė. Fillestarėt kanė tendencėn tė shkruajnė kod sa mė tė ngjeshur sepse profesorėt i kushtojnė me shumė rėndėsi funksionimit sesa drejtshkrimit tė kodit. I kam bėrė vetė gabime tė tilla dhe i shkruaj kėtu qė mos t'i bėjnė edhe tė tjerėt.

    Kostua mė e madhe e softuereve ėshtė tek mirėmbajtja e kodit, prandaj ėshtė mė mirė tė harxhosh mė shumė kohė nė fillim e te programosh qysh duhet, sesa t'i biesh murrit me kokė dy vjet mė vonė, kur tė duhet tė ndryshosh programin.

    Mqns nuk i pritke mirė kritikat, hidhi njė sy kodit tim e bėj ndonjė sugjerim si do ishte shkruar mė mirė.
    Edi

  12. #12
    63n700 Maska e werewolf
    Anėtarėsuar
    03-10-2003
    Vendndodhja
    Rome
    Postime
    164
    mbase i shkruan qe kur te vije koha per mirembajtje te ndo1 software te bere nga josifi ose te therasin josifin vete ose ta hedhin poshte hahha...
    The truth may be out there, but lies are inside your head.

  13. #13
    Analog Brain Maska e josif
    Anėtarėsuar
    26-02-2004
    Vendndodhja
    madagaskar
    Postime
    245
    Nje gje eshte me se e sigurt: Ty nuk te therret njeri

    Citim Postuar mė parė nga werewolf
    mbase i shkruan qe kur te vije koha per mirembajtje te ndo1 software te bere nga josifi ose te therasin josifin vete ose ta hedhin poshte hahha...
    He walks among us, but He is not one of us ...

  14. #14
    Analog Brain Maska e josif
    Anėtarėsuar
    26-02-2004
    Vendndodhja
    madagaskar
    Postime
    245
    Nuk me intereson mendimi yt personal, ketu ne forum mund te kesh cfaredo lloj posti, por nuk ke te drejte ti kritikosh te tjeret !

    Jam apo jo fillestar nuk te kerkova mendimin!

    P.S : Ato pjese kodi shkruhen per njerez te "ngjashem" !

    Citim Postuar mė parė nga edspace
    Nėse nuk tė pėlqejnė komentet/kritikat, mos posto kod nė forum. Ato qė shkruajta mė lart janė vėrejtje e kėshilla qė mė janė bėrė edhe mua dhe i shkruajta nė forum pėr ata qė kanė dėshirė tė mesojnė. Fillestarėt kanė tendencėn tė shkruajnė kod sa mė tė ngjeshur sepse profesorėt i kushtojnė me shumė rėndėsi funksionimit sesa drejtshkrimit tė kodit. I kam bėrė vetė gabime tė tilla dhe i shkruaj kėtu qė mos t'i bėjnė edhe tė tjerėt.

    Kostua mė e madhe e softuereve ėshtė tek mirėmbajtja e kodit, prandaj ėshtė mė mirė tė harxhosh mė shumė kohė nė fillim e te programosh qysh duhet, sesa t'i biesh murrit me kokė dy vjet mė vonė, kur tė duhet tė ndryshosh programin.

    Mqns nuk i pritke mirė kritikat, hidhi njė sy kodit tim e bėj ndonjė sugjerim si do ishte shkruar mė mirė.
    He walks among us, but He is not one of us ...

  15. #15
    Programues Softueresh Maska e edspace
    Anėtarėsuar
    04-04-2002
    Vendndodhja
    Filadelfia, SHBA
    Postime
    2,573
    Josif, e ke idenė sė ēfarė ėshtė forumi apo jo? Nė ēastin qė shtyp butonin "posto" tė gjitha ato ēfarė ke shkruar bėhen publike dhe ēdokush ka tė drejtė tė bėjė komente e tė tė kritikojė pėr aq kohė sa bėhen brėnda rregullores. Nėse nuk je i zoti tė pėrballosh kritikat, mos posto kod nė forum.
    Edi

  16. #16
    Larguar Maska e cunimartum
    Anėtarėsuar
    07-06-2002
    Vendndodhja
    Canada
    Postime
    678
    Ilir para pak kohesh i kam keshilluar "pr tech" qe kur klasifikojne cilat gjuhe te perdoren per zgjidhjet te ndalojne gjithashtu edhe disa nga librarite standarde qe do ta benin sfiden te pavlefshme prandaj kur pashe kete sfide nuk iu permbajta dot dhe shkruajta nja 7 rreshta qe tu tregoja cfare nenkuptoja atehere, pastaj mu duk sikur i ofendoja dhe prandaj i shtova nje DialogBox qe te shtoheshin ca rreshta, s'ma priste mendja qe do ta vinin si zgjidhje te vlefshme , nese ata psh. do kishin ndaluar perdorimin e BigDecimal standard atehere nje klas BigDecimalIme do ishte me interesante edhe pse prap shume e thjeshte.

    ************************************************** ********

    Edspace diskutimi mbi eficencen eshte shume i vlefshem edhe pse ne pamje te pare ne nje proggy te tille duket si i neglizhueshem. Faktikisht ne nje String -> infinity ashtu sic teorikisht keta dy numra duhet te jene ne nje rritje te madhe te numrave do conte ne mjaft ndjeshmeri midis ruajtjes ne char ose ne uint.
    Para nja dy-tre vjetesh ne nje teme mbi eficensen duhej qe te ndertohej e njejta detyre si kjo, por me kusht qe te kishte eficence memorjeje maksimale, dhe zgjidhja qe kisha ishte ne Python me nje modul te shkurter ne C dhe ne nje char 4 bitet e pare dhe te fundit ishin dy numra te ndryshem dhe keto ngjesheshin para se te behej mbledhja dhe mbledhja behej me chunks te cilat sa mbaronin coheshin ne standart out. S'e mbaj mend pse edhe pse testet kalonin me kane vene a B a B+, do rremoj njehere mbase e gjej.

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.
  •