Close
Faqja 2 prej 3 FillimFillim 123 FunditFundit
Duke shfaqur rezultatin 11 deri 20 prej 21
  1. #11
    i/e regjistruar
    Anėtarėsuar
    11-10-2004
    Postime
    39
    Edi, me duket se ka nevoje per nje sqarim ketu.
    Ata programe Unix per te cilet e ke fjalen ti i marrin te dhenat nga stdin.
    Zakonisht stdin eshte tastiera por sistemi operativ (Unix por edhe MS-DOS) mund ti beje redirection.

    Ka dy lloj redirection:
    < Kjo perdoret kur input eshte nje skedar.
    | (ose pipe) Kjo perdoret kur input eshte output i nje programi tjeter.


    Sic mund te behet redirection i stdin ashtu mund te behet edhe redirection i stdout.
    Perseri ka dy lloj redirection:
    > Kur output eshte nje file
    | (pipe, njelloj si me lart) Kur output eshte input i nje programi tjeter.

    Shembulli me i zakonshem i redirection ne MS-DOS besoj se eshte komanda:
    dir > dirlist.txt

    Kjo eshte edhe arsyeja qe mesazhet e gabimeve zakonisht shkruhen ne stderr, sepse stderr zakonisht nuk i behet redirection. Nese mesazhi i gabimit do shkonte ne stdout dhe stdout behet redirection ne nje skedar, mesazhi shkon ne skedar dhe ne console nuk shikohet asgje.
    Ndryshuar pėr herė tė fundit nga IlirDeda : 12-07-2005 mė 19:49

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

    E kam tė qartė qė < > dhe | menaxhohen nga sistemi operativ, por i dhashė si shembull sepse mund tė mendohen si argumenta tė programit.

    Programi cat ėshtė njė shembull i mirė i programeve qė pranojnė tė dhėna nga skedarėt ose nga tastiera.

    nga skedarėt: cat forumi.txt shqiptar.txt > forumishqiptar.txt
    nga tastiera: cat > skedar.txt

    Komanda e dytė pret tė dhėnat nga STDIN.
    Edi

  3. #13
    mos e luaj; I DEBUAR! Maska e qoska
    Anėtarėsuar
    17-05-2004
    Vendndodhja
    tirane
    Postime
    837
    Edhe une e mora njehere mundimin dhe e shkruajta nje nga keto sfida panvaresisht se se kam derguar, sepse e shkruajta sa per t'ja treguar nje personi qe donte ta shikonte si behej ne C.

    Jam i hapur per kritika panvaresisht se nuk eshte e perfunduar tamam.

    P.S.>Pertova ti hiqja ato #ifdef DEBUG te me falni :P

    Kodi:
    #include 
    #include 
    #include 
    #include  /*per STDIN_FILENO*/
    #include 
    
    unsigned char shkronja[39] = {
     'A', 'B', 'C', 'D', 'E', 'F',
     'G', 'H', 'I', 'J', 'K', 'L',
     'M', 'N', 'O', 'P', 'Q', 'R',
     'S', 'T', 'U', 'V', 'W', 'X',
     'Y', 'Z', '0', '1', '2', '3', 
     '4','5', '6', '7', '8','9', '.',
     ',', '?'
    };
    
    char *mors[39] = {
    ".-", "-...", "-.-.", "-..", ".",
    "..-.","--.","....", ".." , ".---",
    "-.-", ".-..", "--", "-.", "---",
    ".--.", "--.-", ".-.", "...", "-",
    "..-", "...-", ".--", "-..-", "-.--",
    "--..", "-----", ".----","..---", "...--",
    "....-", ".....", "-....", "--...", "---..",
    "----.", ".-.-.-", "--..--", "..--.." 
    };
    
    
    #define NUMRA_PIKESIME 13
    #define SHKRONJA 26
    #define GJAT_RRESHTI 80
    #define MAX_GJAT_MORS 6 /*gjatesia max per enkodimin e nje shkronje ne mors*/
    
    
    int morsshkronje(char *str) {
    
    	int y;
    	for(y = 0; y < SHKRONJA+NUMRA_PIKESIME; y++)
    #ifdef DEBUG 
    	printf("morsshkronj: pas for(y= '0' && germe <= '9') || germe == '.' || germe == ',' || germe == '?') {
    			/*eshte numer ose shenje pikesimi */
    		for(y = 0; y < NUMRA_PIKESIME; y++)
    			if ( germe == shkronja[SHKRONJA+y] ) {
    				str = (char *)malloc(sizeof(char)*MAX_GJAT_MORS);
    				if (str == NULL)
    					return NULL;
    				(void)strncpy(str,mors[SHKRONJA+y], MAX_GJAT_MORS);	
    #ifdef DEBUG
    				printf("shkronjemors: str = \"%s\"\n",str);
    #endif
    			}
    			
    	} else {
    		for(y = 0; y < SHKRONJA; y++) {
    #ifdef DEBUG
    		printf("shkronjemors: ne germe=%c : shkronja[y]=%c\n",
    			germe, shkronja[y]);				
    #endif
    			if (germe == shkronja[y] ) {
    #ifdef DEBUG
          			printf("shkronjemors: ne germe == shkronja[y]\n");				
    #endif
    				str = (char*)malloc(sizeof(char)*6);
    				if (str == NULL)
    					return NULL;
    				(void)strncpy(str, mors[y], MAX_GJAT_MORS);
    #ifdef DEBUG
    				printf("shkronjemors: str = \"%s\"\n",str);
    #endif
    			}
    		}
    	}
    	return str;
    
    } /*fund shkronje-mors() */
    
    
    int main(int argc, char *argv[]) {
    
    /*	int gjatrreshti = 0; 
    	int gjatmors = 0;
    */
    	char *input;
    	int germa;
    	char *kodimors;
    	int cilen = 0;
    	
    
    	if (argc > 2) {
    		printf("argumenti i vetem eshte -m\n");
    		return -1;
    	}
    
    	if (argc == 2) {
    	if ( !strcmp(argv[1], "-m") )
    		cilen = 1;
    	}
    	
    	input = (char*)malloc(sizeof(char)*GJAT_RRESHTI);
    
        if (cilen) {
    #ifdef DEBUG
    	printf("main: cilen = 1\n");
    #endif
    	while (1) {
    		scanf("%s",input); 
    			if ( strlen(input) >= 80) {
    				printf("nje rresht nuk mund te kete me shume se 80 karaktere\n");
    				return -1;
    			}
    
    #ifdef DEBUG 
    		printf("main: input = %s\n",input);
    #endif
    		kodimors = strtok((char*)input," ");
    		while (kodimors != NULL) {
    #ifdef DEBUG
    		printf("main: pas While(kodimors); kodimors=\"%s\"\n",kodimors);
    #endif		
    			if ( (germa = morsshkronje(kodimors)) != -1 ) 
    				printf("%c",germa);	
    			else 
    				printf("gabim ne hyrje input=%s\n", (char*)input);
    			kodimors = strtok(NULL, " ");
    		} 
    	}
    	
          } else {
    #ifdef DEBUG
    	printf("main: jem tek shkronja mors\n");
    #endif
    	while ( (germa = fgetc(stdin)) != 0 && germa != '.') {
    #ifdef DEBUG
    		printf("main: jem tek shkronja mors+while\n");
    #endif
    		if (germa == ' ' || germa == '/' || germa == '\\' || germa == '\n' || germa == '\t')
    		{}else {
    		if (germa >= 'a' && germa <= 'z')
    			germa = toupper(germa);
    #ifdef DEBUG
    		printf("%c\n",germa);
    #endif
    		if ( (kodimors = shkronjemors(germa) ) != NULL)
    			printf("%s ", kodimors);
    		else {
    			printf("main: Karakter qe s'ben pjese ne kodin mors: (%c)\n",germa);
    			return -1;
    		}
    		}
    	} /*end while*/	
          }
    	return 0;	
    } /* fund main() */

  4. #14
    Programues Softueresh Maska e edspace
    Anėtarėsuar
    04-04-2002
    Vendndodhja
    Filadelfia, SHBA
    Postime
    2,565
    Mė poshtė po hedh zgjidhjen time tė sfidės nė C++.
    Skedarėt i gjeni nė skedarin e bashkėngjitur.

    Programin nuk ėshtė thjesht njė shifrues/deshifrues i Morsit, por lejon pėrkthimin edhe nė gjuhė tė tjera, pėr aq kohė sa pėrdoruesi i jep programit njė fjalor. Fjalori pėrmban dy gjuhė nė njė skedar tė vetėm. Ēdo gjuhė ka kolonėn e saj dhe janė ndarė me [tab] nga njėra tjetra. Pėrkthmini ėshtė i dayanshėm, (alfabeti latin=>mors, mors => alfabeti latin) dhe pėrdoruesi zgjedh sipas dėshirės duke pėrdorur opsionin [shifro/deshifro].

    I mirėpres pyetjet, komentet, kritikat pėr kodin.


    Pėrpilimi dhe pėrdorimi i programit:
    Kodi:
    ----------------------------------------------------
    Programi
    ----------------------------------------------------
    Programi ėshtė shkruajtur nė ANSI C++. 
    U testua me MS Visual C++.NET dhe gcc/g++ 3.4.2
    
    Pėrpilimi: g++ perkthe.cpp -o perkthe
    
    
    ----------------------------------------------------
    Perdorimi
    ----------------------------------------------------
    Programi kėrkon argumenta pėr fjalorin e pėrkthimit, 
    funksionin (shifro ose deshifro), si dhe tė dhėnat
    pėr tė pėrkthyer. Nqs tė dhėnat nuk jepen, programi
    i kėrkon ato nga pėrdoruesi me anė tė tastierės. 
    
    Fjalori pėrmban dy kollona tė ndara me tab. Ēdo 
    rresht pėrmban dy fjalė qė pėrkthejnė njėra tjetrėn. 
    Rreshtat bosh nuk merren parasysh, ndėrsa rreshtat me
    mė pak ose mė shumė se dy fjalė nuk pranohen dhe 
    ndalojnė ekzekutimin e programit. Pėr aq kohė sa 
    rreshti ndahet me tab, programi nuk bėn dallim midis
    fjalėve, shkronjave, apo shprehjeve.
    
    Si shembull mund tė shikohet fjalori morsi.txt dhe
    shq_ang.txt. I pari bėn pėrkthimin e shkronjave
    ndėrsa i dyti bėn pėrkthimin e shkronajve, fjalėve
    dhe shpehjeve. 
    
    Fjalėt e tė dhenave duhet tė jenė tė ndara me njė
    vend bosh (space). Shprehjet qė pėmbajnė vende bosh
    duhet tė mbyllen brėnda "thonjzave" me qėllim qė tė 
    tė trajtohet si njė fjalė e vetme nė fjalor. 
    
    ----------------------------------------------------
    Ditari
    ----------------------------------------------------
    
    E:\>perkthe morsi.txt shifro
    P R / T E C H
    .--. .-. / - . -.-. ....
    F O R U M I / S H Q I P T A R
    ..-. --- .-. ..- -- .. / ... .... --.- .. .--. - .- .-.
    G J E R G J / K A S T R I O T I
    --. .--- . .-. --. .--- / -.- .- ... - .-. .. --- - ..
    T I R A N A
    - .. .-. .- -. .-
    P R I S H T I N A
    .--. .-. .. ... .... - .. -. .-
    T E T O V A
    - . - --- ...- .-
    U L Q I N I
    ..- .-.. --.- .. -. ..
    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
    .- -... -.-. -.. . ..-. --. .... .. .--- -.- .-.. -- -. --- .--. --.- .-. ... - ..- ...- .-- -..- -.-- --..
    0 1 2 3 4 5 6 7 8 9
    ----- .---- ..--- ...-- ....- ..... -.... --... ---.. ----.
    J U / E / Z G J I D H E T / S F I D E N / P E R / K O D I N / E / M O R S I T
    .--- ..- / . / --.. --. .--- .. -.. .... . - / ... ..-. .. -.. . -. / .--. . .-. / -.- --- -.. .. -. / . / -- --- .-. ... .. -
    KJO NUK DO PERKTHEHET SEPSE SHKRONJAT NUK JANE NDARE ME VENDE BOSH
    KJO NUK DO PERKTHEHET SEPSE SHKRONJAT NUK JANE NDARE ME VENDE BOSH
    n D E r S A KJO DO p E R K T H E H E T P j E s E r I s H t
    n -.. . r ... .- / KJO / DO / p . .-. -.- - .... . .... . - / .--. j . s . r .. s .... t
    P E R / T E / M B Y L L Y R / P R O G R A M I N / S H T Y P I M / C T R L / D H E / Z / N E / W I N D O W S / O S E / C T R L / D H E / D / N E / U N I X
    .--. . .-. / - . / -- -... -.-- .-.. .-.. -.-- .-. / .--. .-. --- --. .-. .- -- .. -. / ... .... - -.-- .--. .. -- / -.-. - .-. .-.. / -.. .... . / --.. / -. . / .-- .. -. -.. --- .-- ... / --- ... . / -.-. - .-. .-.. / -.. .... . / -.. / -. . / ..- -. .. -..-
    ^Z
    
    E:\>perkthe morsi.txt deshifro
    .--. .-. / - . -.-. ....
    P R / T E C H
    ..-. --- .-. ..- -- .. / ... .... --.- .. .--. - .- .-.
    F O R U M I / S H Q I P T A R
    --. .--- . .-. --. .--- / -.- .- ... - .-. .. --- - ..
    G J E R G J / K A S T R I O T I
    - .. .-. .- -. .-
    T I R A N A
    .--. .-. .. ... .... - .. -. .-
    P R I S H T I N A
    - . - --- ...- .-
    T E T O V A
    ..- .-.. --.- .. -. ..
    U L Q I N I
    .- -... -.-. -.. . ..-. --. .... .. .--- -.- .-.. -- -. --- .--. --.- .-. ... - ..- ...- .-- -..- -.-- --..
    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
    ----- .---- ..--- ...-- ....- ..... -.... --... ---.. ----.
    0 1 2 3 4 5 6 7 8 9
    .--- ..- / . / --.. --. .--- .. -.. .... . - / ... ..-. .. -.. . -. / .--. . .-. / -.- --- -.. .. -. / . / -- --- .-. ... .. -
    J U / E / Z G J I D H E T / S F I D E N / P E R / K O D I N / E / M O R S I T
    KJO NUK DO PERKTHEHET SEPSE SHKRONJAT NUK JANE NDARE ME VENDE BOSH
    KJO NUK DO PERKTHEHET SEPSE SHKRONJAT NUK JANE NDARE ME VENDE BOSH
    n -.. . r ... .- / KJO / DO / p . .-. -.- - .... . .... . - / .--. j . s . r .. s .... t
    n D E r S A / KJO / DO / p E R K T H E H E T / P j E s E r I s H t
    .--. . .-. / - . / -- -... -.-- .-.. .-.. -.-- .-. / .--. .-. --- --. .-. .- -- .. -. / ... .... - -.-- .--. .. -- / -.-. - .-. .-.. / -.. .... . / --.. / -. . / .-- .. -. -.. --- .-- ... / --- ... . / -.-. - .-. .-.. / -.. .... . / -.. / -. . / ..- -. .. -..-
    P E R / T E / M B Y L L Y R / P R O G R A M I N / S H T Y P I M / C T R L / D H E / Z / N E / W I N D O W S / O S E / C T R L / D H E / D / N E / U N I X
    ^Z
    
    
    E:\>perkthe shq_ang.txt shifro
    une
    I
    ti
    you
    une ti ai
    I you he
    une ti ai ajo ne ju ata ato
    I you he she we you they they
    po kjo pse nuk punon
    po kjo pse nuk punon
    sepse ti nuk e ke futur ne fjalor
    sepse you nuk e ke futur we fjalor
    une jam
    I jam
    une jam Edi
    I jam Edi
    "une jam" Edi
    "I am" Edi
    "ti je"?
    "you are" ?
    ti je une jam ata jane
    you je I jam they jane
    "ti je" "une jam" "ata jane"
    "you are" "I am" ata jane
    "Kjo eshte nje fjali"
    "This is a sentence"
    "Punon per mrekulli"
    "It works like a charm"
    ^Z
    
    E:\>echo F O R U M I / S H Q I P T A R > dalja.txt
    
    E:\>more dalja.txt
    F O R U M I / S H Q I P T A R
    
    E:\>perkthe morsi.txt shifro dalja.txt
    ..-. --- .-. ..- -- .. / ... .... --.- .. .--. - .- .-.
    
    E:\>perkthe morsi.txt shifro dalja.txt > daljamors.txt
    
    E:\>more daljamors.txt
    ..-. --- .-. ..- -- .. / ... .... --.- .. .--. - .- .-.
    
    E:\>perkthe morsi.txt deshifro daljamors.txt
    F O R U M I / S H Q I P T A R

    Kodi:

    perkthe.cpp

    Kodi PHP:
    //***************************************************************************
    // Autori:        
    //        Eduard Papa (edspace ET comcast PIKE net)
    // Funksioni:    
    //        Program per shifrim dhe deshifrim te shkronjave, fjaleve
    //        ose shprehjeve. Mund te perdoret edhe si nje perkthyes. 
    //        Programi kerkon fjalorin dhe tekstin per te perkthyer.
    //        Ben perkthimin e fjaleve qe gjenden ne fjalor dhe i printon ne STDOUT.
    // Argumentat:    
    //        fjalor            - skedar me fjalorin per shifrimi/deshifrim/perkthim
    //        shifro/deshifro    - zgjedh funksionin e fjalorit                    
    //        teksti            - (fakultativ) skedari per te perkthyer. 
    //                           Nese nuk jepet, programi kerkon te dhenat nga STDIN
    //                           Per te nderprere perkthimin e fjaleve, duhet te 
    //                           dergohet EOF me butoniat ctrl+z ne Windows, 
    //                           ose ctrl+d ne Unix/Linux
    //
    //    psh: perkthe mors.txt shifro mesazhi.txt  // ben shifrimin ne kodin mors
    //         perkthe mors.txt deshifro mesazhimors.txt  // deshifron kodin mors
    //         perkthe mors.txt deshifro   // kerkon te dhenat nga tastiera
    //
    //***************************************************************************

    #include <iostream>
    #include <string>
    #include <fstream>

    #include "Fjalor.h"
    #include "Perkthyes.h"

    using namespace std;

    int main(int argcchar argv[])
    {
        try {  
            if (
    argc || argc 4) {
                throw 
    string("Numer i gabuar argumentash!\nPerdorimi: " 
                    
    string(argv[0]) + " fjalori shifro/deshifro [teksti]");
            }
            
            
    ifstream skedar(argv[1], ifstream::in);
            if (!
    skedar) {
                throw 
    string("Nuk mund te hapej fjalori " string(argv[1]));
            }
            
            
    // hapim skedarin e fjalorit
            
    istream teDhenatFjalori(skedar.rdbuf());

            
    // te dhenat nga STDIN
            
    istream teDhenatTeksti = new istream(cin.rdbuf());

            
    bool shifro true;    
            if (
    string(argv[2]) == "deshifro") { shifro false; }

            
    ifstream skedar2
            if (
    argc 3) {        // nese te dhenat jepen ne skedar
                
    skedar2.open(argv[3], ifstream::in);
                if (!
    skedar2) {
                    throw 
    string("Nuk mund te hapej skedari " 
                            
    string(argv[3]));
                }
                
    delete teDhenatTeksti;
                
    teDhenatTeksti = new istream(skedar2.rdbuf());
            }

            
    Fjalor fjalor(teDhenatFjalorishifro);               // krijojme fjalorin
            // cout << fjalor;                                   // printon fjalorin
            
    Perkthyes::perkthe(*teDhenatTeksticoutfjalor); // bejme perkthimin
            
            
    skedar.close();            // mbyllim skedaret e hapur
            
    skedar2.close();        
            return 
    EXIT_SUCCESS;    // dalim me sukses

        
    } catch (string gabim) {    // kapim dhe printojme gabimet
            
    cerr << "GABIM: " gabim << endl;    
            return 
    EXIT_FAILURE;    // dalim me gabime
        
    }

    Ndryshuar pėr herė tė fundit nga edspace : 22-07-2005 mė 16:00
    Edi

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

    Kodi PHP:
    //***************************************************************************
    // Perkthyes.h
    // Perkthyesi perdor nje fjalor per te perkthyer nje seri shkronjash, 
    // fjalesh, ose shprehjesh. Fjalet qe nuk gjenden ne fjalor, ngelen te 
    // paperkthyera. 
    //***************************************************************************

    #ifndef _ep_perkthyes_
    #define _ep_perkthyes_

    #include <string> 
    #include <iostream>
    #include <vector>

    #include "Fjalor.h"

    class Perkthyes
    {
        public:
            static 
    void perkthe(istream tostream o, const Fjalor f);
    };


    //***************************************************************************
    // Perdor fjalorin per te bere perkthimin e te dhenave. 
    // Fjalet qe nuk gjenden ne fjalor, kthehen te paperkthyera
    //***************************************************************************

    void Perkthyes::perkthe(istream teDhenat
                            
    ostream dalje,    
                            const 
    Fjalor fjalor)  
    {
        
    string fjala;                   
        
    string rreshti;     
        
    vector<stringfjalet;          // vektor me fjalet e paperkthyera
        
    vector<string>::const_iterator it;  
        
        while (!
    teDhenat.eof()) {       // perkthejme rreshtat nje e nga nje
            
    getline(teDhenatrreshti);             
            
    fjalet Fjalor::copeto(rreshti" ");  // bejme ndarjen e fjaleve
            
    rreshti.clear();

            
    // perkthejme fjalet me radhe
            
    for (it fjalet.begin(); it != fjalet.end(); it++) { 
                
    fjala fjalor.gjejFjalen(*it);
                if (
    fjala.empty()) {                // nqs nuk gjendet ne fjalor
                    
    rreshti rreshti + *it " ";
                } else if (
    fjala.find_first_of(" \t") != string::npos) { 
                    
    rreshti rreshti "\"" fjala "\" " ;  // "disa fjale"
                
    } else {
                    
    rreshti rreshti fjala " " ;           // fjale
                
    }
            }
            if (!
    rreshti.empty()) {
                
    dalje << rreshti << endl;
            }
        }
    }

    #endif 
    Fjalor.h nuk e pranon forumi. Tė gjithė skdarėt janė bashkėngjitur mė poshtė.
    Skedarėt e Bashkėngjitur Skedarėt e Bashkėngjitur
    Edi

  6. #16
    Larguar Maska e cunimartum
    Anėtarėsuar
    07-06-2002
    Vendndodhja
    Canada
    Postime
    678
    Faktikisht nuk arrita ta kuptoj qellimin e kesaj "sfide"

    Ku qendron sfida tek nderrimi i dy stringjeve me njeri tjetrin
    Minimumi qe mund te behej do ishte te vendosej nje limit mbi kohen qe Algoritmi do hante ne funksion te gjatesise se stringut ne hyrje dhe gjatesise se fjalorit duke i quajtur respektivisht m dhe n.
    Edhe pse gjatesia e fjalorit ne kete rast konkret eshte madhesi konstante te pakten do kishte njefare interesi. ( Megjithate kjo s'do te thote gje sepse nese do te donim "m" ne kete rast mund te merrte funksion rrites nese psh. do te hidhnim me mors alfabetin kinez etj. )

    Te tre zgjidhjet e tjera qe pashe bejne brute search, dy perdorin funksione te gatshme (te cilat jane implementuar per rastin e pergjithshem pa ditur veti te problemit perkates) , ndersa zgjidhja ne Perl e implementon vete (kjo natyrisht eshte normale pasi sfida nuk kishte asnje specifikim mbi kohen )

    Per sa i perket gjuhes per ta shkruar personalisht per te simuluar dhe testuar Algoritma ose Sisteme mendoj qe Python eshte me i miri, arsyeja eshte shume e thjeshte, pasi ka indentim strikt dhe sintaks shume te qarte e te paster qe e ben kodin te duket pothuaj si pseudo-code, ka gjithashtu sistem shume te thjeshte dhe efikas per te shkruar module te shpejta ne C ose C++ kur te nevojiten veti te tyre. Faktikisht pervec kesaj s'para me ka hyre ne pune, dhe personalisht Python s'me duket me ndonje perfitim me shume se PHP ose Perl.

  7. #17
    Programues Softueresh Maska e edspace
    Anėtarėsuar
    04-04-2002
    Vendndodhja
    Filadelfia, SHBA
    Postime
    2,565
    Pėr herė tė parė lexova kod nė python nė zgjidhjen qė i kishe bėrė sfidės. Nuk di as si ekzekutohet. Nejse...pėrsa i pėrket algoritmit tė pėrdorur, mė pėlqeu metoda qė kishe pėrdorur mė kodin dyjor (binary). Komplikohet pak struktura por deshifrimi bėhet nė kohė lineare. Ndėrsa algoritmi i shifrimit ėshtė njėsoj me atė qė kisha pėrdorur unė. O(nlog[n])

    Unė pėrdora tė STL qė i bėn kėrkimet nė kohė log(n), njėsoj si "dictionary" qė ke pėrdorur ti nė python. Kėtė e pėrdora si pėr shifrim, ashtu dhe deshifrim. Nė fakt ėshtė i njėjti funksion qė bėn pėrkthimin. I vetmi ndryshim midis shifrimit dhe deshifrimit ėshtė mėnyra si ndėrtohet fjalori (map). Gjatė shifrimit pėrdoren karakterėt "AZ09/" si ēelės dhe kodet e morsit si vlerat ndėra pėr deshifrimin e anasjellta. Mbase ke parė ciklet "for" me iterator dhe ke kujtuar se po kėrkoj ēdo fjalė nė fjalor, por ato cikle janė vetėm pėr tė pėrkthyer fjalėt njė e nga njė. Pra n fjalė dhe kėrkimi i ēdo fjale bėhet nė log(n). Koha e plotė pėr shifrim dhe deshifrim ėshtė n*log(n).

    Nė lidhje me sfidėn, unė e bėra pak mė interesante duke e ndarė fjalorin plotėsisht nga kodi. Pra, mund tė pėrdoret jo vetėm pėr morsin, por pėr ēdo fjalor. Emri i fjalorit pėrcaktohet nė listėn e argumentave si skedar.
    Edi

  8. #18
    Larguar Maska e cunimartum
    Anėtarėsuar
    07-06-2002
    Vendndodhja
    Canada
    Postime
    678
    Po ke te drejte "brute search" ne kete rast do te merrte O(n*m)

    Per shifrimin po pertoja, se s'ishte dhe shume interesante por shifrimi del akoma me i shpejte po te duash, del O(n) thjeshte fare. I vendos te gjitha karakteret alfanumerike ne nje Array sipas UniCode psh. dhe indexon ne Array sipas vleres ne UniCode, secili element pastaj "maps" vetem ne nje copez stringu ne mors pra O(1) per indexim ne Array + O(1) per "map" = O(2) prap kohe konstante * O(n) per secilin karakter = O(2n) = O(n)
    Duhet te jete vetem 2-3 rreshta me shume

  9. #19
    mos e luaj; I DEBUAR! Maska e qoska
    Anėtarėsuar
    17-05-2004
    Vendndodhja
    tirane
    Postime
    837
    Epo une nuk besoj qe nje sfide kaq te thjeshte ti futen diskutim se cfare algoritmi perdoret ne te sepse eshte thjesht nje humbje kohe.
    Per nje problem kaq te vogel brute-force eshte zgjidhja ideale pa e rritur kompleksitetin e algoritmit.

    Persa i perket llojit te sfidave une jam munduar ti coj atyre te pr-tech.net nje liber me ushtrime te nje universiteti spanjoll, libri eshte Springer Verlanger.... dicka se spo e kujtoj tani, i cili te jep mundesi ti kontrollosh sfidat e tua direkte online nepermjet nje roboti dhe ka dhe nje klasifikim sipas shteteve, normalisht shteti zgjidhet gjate regjistrimit .

    Sfidat ne kete liber mund te gjehen dhe online KETU, mund te beni regjistrim dhe nga fundi i faqes keni problemet te ndara ne volume.

    Shpresoj per ata qe kane kohe dhe qejf te merren me keto problema dhe te ngrene sadopak flamurin shqiptar ne kete faqe le te kontribuojne.

    Gjithsesi nqs ketu ne forum doni qe te zgjedhim cdo jave nje nga keto problema mund te organizohemi dhe rezultatet jane te thjeshta per te dale nga testimi automatik i kodit.

    TUNG!

  10. #20
    i/e regjistruar Maska e al5f1nx
    Anėtarėsuar
    23-03-2004
    Vendndodhja
    pothuajse se aty ku duhet
    Postime
    92
    Edhe pasi ka kaluar ca kohe, sepse me ne fund gjeta momentin per te shkuar me pushime, gjidhjen po e postoj sic i pata premtuar fillimisht edspace.
    eshte pergjithesisht e thjeshte sepse sfida ne te vertete nuk paraqiste veshtiresi te vecanta. Mgjt ishte argetuese

    skedari: Alfabet.pl
    Kodi:
    @kod = ('.-','-...','-.-.','-..','.','..-.','--.','....','..','.---','-.-','.-..','--','-.' ,'---','.--.','--.-','.-.','...','-','..-','...-','.--','-..-','-.--','--..','-----','.----','..---','...--','....-','.....',	'-....','--...','---..','----.','.-.-.-','--..--','..--..',);
    
    @shkronja=('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','0','1','2','3','4','5','6','7','8','9','Fullstop','Comma','Query');

    skedari: sfida_morse.pl
    Kodi:
    #!/usr/bin/perl -w
    
    #04/07/2005
    #Sfida : Dekodimi i transmetimit tė Morsit
    
    
    require ("./alfabet.pl");#skedari ku jane vendosur 2 vargje me alfabetin morse dhe text
    #hyrje.txt - skedari me mesazhin per t'u koduar apo dekoduar
    
    
    $alpha_kod=@kod;
    
    
    
    sub kodim { #subrutina qe ben kodimin e mesazhit
    
    open(HYRJA, "hyrje.txt") || die "Nuk mund te hap skedarin e kerkuar: $!";
    @input=;
    close(HYRJA);  #Hap lexoj dhe mbyll skedarin ne hyrje
    $bruto=join("",@input);#Krijon nje skalar stringe duke marre parasysh qe ne input elementet jane rreshtat e skedarit
    
    
    @fjalet=split(" ",$bruto); #Marr fjalet vec e vec
    
    $numer_fjale=@fjalet;
    
    
    for($i=0;$i<$numer_fjale;$i++){
    	@shkronjat=split(//,$fjalet[$i]);#Cdo fjale ndahet ne shkronja te vecanta
    	$n_shkronja=@shkronjat;	
    	for($j=0;$j<$n_shkronja;$j++){
    			
    			for($k=0;$k<$alpha_kod;$k++){
    				if($shkronjat[$j] eq $shkronja[$k]){#gjendet simboli perkates morse per shkronjen e kerkuar
    					@text=(@text, $kod[$k]);
    					@text=(@text, " ");
    
    					}
    
    
    
    				}
    
    
    
    		
    			}
    		@text=(@text, "/");#vendoset simboli ndares per fjalet
    		@text=(@text, " ");
    	
    		}
    print @text;#outputi
    
    }
    
    
    
    
    
    
    sub dekodim{#subrutina qe ben dekodimin e mesazhit
    
    open(HYRJA, "hyrje.txt") || die "Nuk mund te hap skedarin e kerkuar: $!";
    @input=;
    close(HYRJA);  #Hap lexoj dhe mbyll skedarin ne hyrje
    $bruto=join("",@input);#Krijon nje skalar stringe duke marre parasysh qe ne input elementet jane rreshtat e skedarit
    
    @fjalet=split(" / ",$bruto);#Marr fjalet e koduara vec e vec
    
    $numer_fjale=@fjalet;
    
    $g="0";
    for($i=0;$i<$numer_fjale;$i++){
    	@shkronjat=split(" ",$fjalet[$i]);#Cdo fjale e koduar ndahet ne simbole te vecanta
    	$n_shkronja=@shkronjat;	
    	for($j=0;$j<$n_shkronja;$j++){
    			for($k=0;$k<$alpha_kod;$k++){
    				if($kod[$k] eq $shkronjat[$j]){#gjendet shkronja perkatese morse per simbolin e kerkuar
    					@text=(@text, $shkronja[$k]);
    
    					}
    
    
    
    				}
    
    
    
    		
    			}
    		@text=(@text, " ");#vendoset hapesira ndarese per fjalet
    	
    		}
    print @text;#outputi
    
    
    }
    
    
    
    sub perdorim{#subrutina qe shfaq perdorimin e sakte te skriptit
    
    print "\nPerdorim: sfida_morse.pl \n\t-k - kodim\n\t-d - dekodim";
    
    
    }
    
    
    
    
    if(@ARGV !=1){
    	&perdorim;
    	}
    elsif(@ARGV == 1){
    
    	$metoda=$ARGV[0];
    
    	if($metoda eq "-k"){
    		&kodim;
    		}
    	elsif($metoda eq "-d"){
    		&dekodim;
    
    
    		}
    	else{
    		&perdorim;
    	}
    
    
    }
    Gjithashtu perfshihet edhe nje skedar Hyrje.txt
    Geniality is a state of mind

Faqja 2 prej 3 FillimFillim 123 FunditFundit

Tema tė Ngjashme

  1. Dekodimi i Eksdid
    Nga Qafir Arnaut nė forumin Toleranca fetare
    Pėrgjigje: 0
    Postimi i Fundit: 16-07-2006, 03:18

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