Arctic Bay

No Pokés => Technology Empire => Topic iniziato da: Malva su Dicembre 19, 2010, 12:26:34



Titolo: quesito di informatica
Post di: Malva su Dicembre 19, 2010, 12:26:34
avete un file di testo contente n righe che si possono dividere in due sezioni: "codice" ed "importo"

ad esempio

001 9989898989898989898989898989898098
002 9809890809809809809809809809888888882222

supponiamo che non ci sia NESSUN PROBLEMA a leggere da file e che si possa accedere (una riga per volta) al "codice" e all'"importo" di quella riga

per semplificare ancora la cosa fate finta che si tratti di un dabatabase se volete dove si può accedere sequenzialmente al campo codice ed al campo importo


ok, devo inserire in un array tutti i codici con il relativo importo ORDINATAMENTE e nel modo più efficiente possibile

sarebbe facile normalmente, ma purtroppo....

1. il campo codice può contenere duplicati e nell'array invece non dobbiamo averne: quando si hanno più codici si somma il loro importo all'interno dello stesso codice nell'array
2. non si può usare la ricorsione

tempo limite domattina alle 10, se ce la fate ho un premio magico

se non è chiaro qualcosa ditelo

se lo è e non sapete nulla state zitti





io intanto cercherò di sbattere la testa sui muri su come implementare il merge-sort in COBOL senza la ricorsione


Titolo: Re: quesito di informatica
Post di: Mr.Pkmn su Dicembre 19, 2010, 12:31:09
neanche un while puoi fare?


Titolo: Re: quesito di informatica
Post di: Gipat. su Dicembre 19, 2010, 14:49:00

tempo limite domattina alle 10, se ce la fate ho un premio magico


un ipad?


Titolo: Re: quesito di informatica
Post di: Malva su Dicembre 19, 2010, 18:14:22
neanche un while puoi fare?
? cosa c'entra? xP sìsì cicli posso ttto


Titolo: Re: quesito di informatica
Post di: CtW su Dicembre 19, 2010, 18:14:44
http://www.magico.net/index/index.php


Titolo: Re: quesito di informatica
Post di: Mr.Pkmn su Dicembre 19, 2010, 18:22:24
usa il while per leggere le righe del file

più avanti vai col ciclo aggiungi il codice all'array controllando che non esista già

alla fine fai il sort dell'array


Titolo: Re: quesito di informatica
Post di: Malva su Dicembre 19, 2010, 19:12:15
si ok, ovviamente cose del genere non mi servono
mi interesserebbe sapere l'algoritmo in sè più efficiente per effettuare una cosa simile senza usare la ricorsione, sia dividendo in due fasi l'inserimento ed il riordino che non

parlo soprattutto alla gente che sta roba la ha studiata a scuola (probabilmente tu no visto che altrimenti sapresti che ci sono particolari algoritmi come il bubble sort, il quick sort etc che fanno proprio queste cose) come GF (in corso, no?), SHA etc

ovviamente in questo caso il primo algortimo che salta in mente è l'insertion-sort ma è dannatamente poco efficiente x(


Titolo: Re: quesito di informatica
Post di: Omega su Dicembre 20, 2010, 00:07:46
malva quando puoi vieni su msn quando estraggo sotn mi dice che manca un file D:

non c'è fretta tanto sto finendo l'altro


Titolo: Re: quesito di informatica
Post di: CtW su Dicembre 20, 2010, 00:56:43
cjaomega


Titolo: Re: quesito di informatica
Post di: Malva su Dicembre 20, 2010, 08:06:04
malva quando puoi vieni su msn quando estraggo sotn mi dice che manca un file D:

non c'è fretta tanto sto finendo l'altro
...non devi estrarlo O_o

comunque a lavoro oggi ci sono ma invisibile quindi chiama (msn )

ho trovato ieri sera come sistemare il programma ergo HO FATTO


Titolo: Re: quesito di informatica
Post di: Omega su Dicembre 20, 2010, 23:16:35
d3dx9_26.dll non è stato trovato

se provo ad aprirlo dice così

se provo a estrarlo anche


Titolo: Re: quesito di informatica
Post di: CtW su Dicembre 21, 2010, 01:28:25
dai è facile stavolta
http://www.dlldll.com/d3dx9_26.dll_download.html
scarica il file .dll
mettilo in C:\Windows\system32
prova a rifare la roba di prima e vedi che funzionerà


Titolo: Re: quesito di informatica
Post di: Malva su Dicembre 21, 2010, 08:04:08
dio omega che rincoglionito che sei
apparte il fattyo che ti ha risposto ctw

d3dx????????????? cosa sarà mai
giochi a cs da 10 anni e non sai ancora cosa si intende per d3d???

!!!!!!!!!!!!!!!!


sono sempre su gtalk ora perchè msn mi da un casino di casini in ufficio


Titolo: Re: quesito di informatica
Post di: Giorgio su Dicembre 21, 2010, 11:58:35
prima ero un hacker, adesso ho smesso, posso dirti solo una cosa, dsevi imparare con gli anni  :yoyo


Titolo: Re: quesito di informatica
Post di: A.S.D. su Dicembre 21, 2010, 14:08:32
ke carino malva impiegatyo


Titolo: Re: quesito di informatica
Post di: Omega su Dicembre 22, 2010, 13:48:20
ma non ho neanche cercato lol sto ancora finendo l'altro non ho fretta :o

grazie ctw comunque ^_^


Titolo: Re: quesito di informatica
Post di: Malva su Dicembre 22, 2010, 17:36:50
copate :( vieni su gtalk ogni tanto maeledetto terrone


Titolo: Re: quesito di informatica
Post di: XxTDSxX su Dicembre 23, 2010, 00:13:13
Matte risolvimi questo  >:D


Il tappeto di Sierpinski è un frattale che è un sottoinsieme dei punti del piano con la potenza del continuo. Questo esercizio esplora la possibilità di "disegnare" una versione discreta del tappeto di Sierpinski.
Il tappeto discreto di Sierpinski di ordine 1 è la seguente matrice 3x3 di caratteri:
@@@ @ @ @@@ Il tappeto discreto di Sierpinski di ordine k (k > 1) è la matrice 3kx3k di caratteri definita induttivamente così: TTT TBT TTT dove T è il tappeto discreto di Sierpinski di ordine k-1 e B è la matrice 3k-1x3k-1 riempita con il carattere spazio.
 
 
Scrivere una funzione void sierpinskiCarpet(int n, char M[n][n], int r0, int c0, int k) che "disegna" il tappeto discreto di Sierpinski di ordine k nella sottomatrice della matrice M con angolo superiore sinistro (r0, c0). Più precisamente, la sottomatrice comprende le righe da r0 a r0 + 3k-1 e le colonne da c0 a c0 + 3k-1. In caso il tappeto di ordine k non possa essere disegnato completamente nella matrice M a partire da (r0, c0), oppure in caso (r0, c0)non individui una cella di M, M deve essere lasciata invariata.


Titolo: Re: quesito di informatica
Post di: Omega su Dicembre 23, 2010, 01:01:06
tds anche qui a rompere le balle fuori dai COGLIONI

C-O-G-L-I-O-N-I

scherzo :)


Titolo: Re: quesito di informatica
Post di: Malva su Dicembre 23, 2010, 14:13:44
tds risolvimi

      IDENTIFICATION DIVISION.
       PROGRAM-ID. STA0007B.
       AUTHOR. MAZZAROLO MATTEO.
       DATE-WRITTEN. 2010-12-20

       ENVIRONMENT DIVISION.

       INPUT-OUTPUT SECTION.

       FILE-CONTROL.
       SELECT FILEPLI       ASSIGN TO FILEPLI.
       SELECT FILECON       ASSIGN TO FILECON.
       SELECT FILEFIL       ASSIGN TO FILEFIL.
       SELECT FILEREP       ASSIGN TO FILEREP.

       DATA DIVISION.

       FILE SECTION.

       FD FILEPLI    LABEL RECORD IS STANDARD.
       01 W-REC-FILE-PLI-01              PIC X(50).

       FD FILECON    LABEL RECORD IS STANDARD.
       01 W-REC-FILE-PLI-CONTIGUI        PIC X(50).

       FD FILEFIL    LABEL RECORD IS STANDARD.
       01 W-REC-FILE-FILIALI             PIC X(50).

       FD FILEREP     LABEL RECORD IS STANDARD.
       01 W-REC-FILE-REPORT              PIC X(200).

       WORKING-STORAGE SECTION.

       01 NOME-PGM                       PIC X(08) VALUE 'STA0007B'.

      * TRACCIATO FILE-PLI-01 *
       01 W-REC-FILE-PLI-01.
         03 W-DIP-PLI-01                  PIC 9(05).
         03 W-NUM-PLI-01                  PIC 9(12).
         03 W-COSTO-PLI-01                PIC 9(7)V99.

      * TRACCIATO FILE-PLI-CONTIGUI *
       01 W-REC-FILE-PLI-CONTIGUI.
         03 W-DIP-PLI-CONTIGUI            PIC 9(05).
         03 W-NUM-PLI-CONTIGUI            PIC 9(12).

      * TRACCIATO FILE-FILIALI *
       01 W-REC-FILE-FILIALI.
         03 W-DIP-FILIALI                 PIC 9(05).
         03 W-DESCR-FILIALI               PIC X(30).

      * RECORD PER L'INTESTAZIONE DELLA PAGINA *
       01 W-REC-INTESTAZIONE-PAGINA.
         03 FILLER                        PIC X.
         03 W-DATA-ST                     PIC X(10).
         03 FILLER                        PIC X(50) VALUE SPACES.
            W-PAG-ST                      PIC Z9(06).

      * RECORD PER IL CODICE DELLA DIPENDENZA *
       01 W-REC-DIPENDENZA.
         03 FILLER                        PIC X(12) VALUE 'DIPENDENZA: '
         03 W-COD-DIP-ST                  PIC Z9(05).

      * RECORD PER LA DESCRIZIONE DELLA DIPENDENZA *
       01 W-REC-DESCRIZIONE.
         03 FILLER                        PIC X(13) VALUE 'DESCRIZIONE: '
         03 W-DESCR-ST                    PIC X(30).

      * RECORD PER L'INTESTAZIONE DEI PLICHI *
       01 W-REC-INT-PLICHI.
         03 FILLER                        PIC X(05) VALUE SPACES.
         03 FILLER                        PIC X(12) VALUE 'NUMERO PLICO'.
         03 FILLER                        PIC X(20) VALUE SPACES.
         03 FILLER                        PIC X(11) VALUE 'COSTO PLICO'.

      * RECORD PER I DATI DEI PLICHI *
       01 W-REC-DATI-PLICHI.
         03 FILLER                        PIC X(05) VALUE SPACES.
         03 W-DATI-NUM-ST                 PIC Z9(12).
         03 FILLER                        PIC X(20) VALUE SPACES.
         03 W-DATI-COSTO-ST               PIC Z9(7)V99.

      * RECORDO PER IL COSTO TOTALE DEI PLICHI*
       01 W-REC-COSTO-TOTALE.
         03 FILLER                        PIC X(30) VALUE SPACES.
         03 FILLER                        PIC X(08) VALUE 'TOTALE: '.
         03 W-COSTO-TOTALE-ST             PIC Z9(15)V99.

      * END-OF-FILE *
       01 EOF-FILE-PLI-01                PIC 9(01) VALUE ZERO.
       01 EOF-FILE-PLI-CONTIGUI          PIC 9(01) VALUE ZERO.
       01 EOF-FILE-FILIALI               PIC 9(01) VALUE ZERO.

      * VARIABILI AGGIUNTIVE *
       01 MAX-RIGHE                      PIC 9(02) VALUE ZERO.
       01 CONT-RIGHE-DATI                PIC 9(02) VALUE ZERO.
       01 CONT-PAGINA                    PIC 9(06) VALUE ZERO.
       01 COSTO-TOTALE                   PIC 9(15)V99 VALUE ZERO.

      * SKEDA-PARAMETRO *
       01 SKEDA-PARAMETRO.
         03 SK-DATA-OGGI                 PIC X(10).

       PROCEDURE DIVISION.

      *-----*
       MAIN.
      *-----*
         PERFORM INIZIALIZZA

         PERFORM LETTURA-FILEPLI
         PERFORM LETTURA-FILECON
         PERFORM LETTURA-FILEFIL
         PERFORM BILANCIAMENTO
           UNTIL EOF-FILE-PLI-01 = 1
           OR    EOF-FILE-PLI-CONTIGUI = 1
         IF CONT-RIGHE-DATI > 0
           PERFORM STAMPA-COSTO-TOTALE
         END-IF

         PERFORM FINE-PGM
         .

      *------------*
       INIZIALIZZA.
      *------------*
         DISPLAY 'INIZIO PGM ' NOME-PGM
         OPEN INPUT  FILEPLI
                     FILECON
                     FILEFIL
              OUTPUT FILEREP

         MOVE 40 TO MAX-RIGHE

         ACCEPT SKEDA-PARAMETRO
         .

      *-------------------------*
       BILANCIAMENTO-DIPENDENZE.
      *-------------------------*
         EVALUATE TRUE
           WHEN W-DIP-PLI-01 = W-DIP-PLI-CONTIGUI
             PERFORM BILANCIAMENTO-PLICHI
           WHEN CONT-RIGHE > 0
             PERFORM STAMPA-COSTO-TOTALE
             INITIALIZE COSTO-TOTALE
             INITIALIZE CONT-RIGHE-DATI
             INITIALIZE SWITCH-DIP-IN-CORSO
           WHEN W-DIP-PLI-01 < W-DIP-PLI-CONTIGUI
             PERFORM LETTURA-FILEPLI
           WHEN W-DIP-PLI-01 > W-DIP-PLI-CONTIGUI
             PERFORM LETTURA-FILECON
         END-EVALUATE
         .

      *---------------------*
       BILANCIAMENTO-PLICHI.
      *---------------------*
         EVALUATE TRUE
           WHEN CONT-RIGHE-DATI >= MAX-RIGHE
             INITIALIZE CONT-RIGHE-DATI
           WHEN W-NUM-PLI-01 = W-NUM-PLI-CONTIGUI
             COMPUTE CONT-RIGHE-DATI = CONT-RIGHE-DATI + 1
             IF CONT-RIGHE-DATI = 1
               COMPUTE CONT-PAGINA = CONT-PAGINA + 1
               PERFORM STAMPA-INTESTAZIONI
               MOVE 1 TO SWITCH-DIP-IN-CORSO
             END-IF
             COMPUTE COSTO-TOTALE = COSTO-TOTALE + W-COSTO-PLI-01
             PERFORM STAMPA-DATI-PLICO
             PERFORM LEGGI-FILEPLI
             PERFORM LEGGI-FILECON
           WHEN W-NUM-PLI-01 < W-NUM-PLI-CONTIGUI
             PERFORM LEGGI-FILEPLI
           WHEN W-NUM-PLI-01 > W-NUM-PLI-CONTIGUI
             PERFORM LEGGI-FILECON
         END-EVALUATE
         .

      *--------------------*
       STAMPA-INTESTAZIONI.
      *--------------------*
         PERFORM STAMPA-INTESTAZIONE-PAGINA
         IF SWITCH-DIP-IN-CORSO = 0
           PERFORM STAMPA-INTESTAZIONE-DIPENDENZA
         END-IF
         PERFORM STAMPA-INTESTAZIONE-DATI
         .

      *---------------------------*
       STAMPA-INTESTAZIONE-PAGINA.
      *---------------------------*
         MOVE SK-DATA-OGGI TO W-DATA-ST
         MOVE CONT-PAGINA  TO W-PAG-ST
         IF CONT-PAGINA = 1
           WRITE W-REC-FILE-REP FROM W-REC-INTESTAZIONE-PAGINA
         ELSE
           WRITE W-REC-FILE-REP FROM W-REC-INTESTAZIONE-PAGINA AFTER PAGE
         END-IF
         .

      *-------------------------------*
       STAMPA-INTESTAZIONE-DIPENDENZA.
      *-------------------------------*
         MOVE W-DIP-PLI-01 IN W-COD-DIP-ST
         MOVE 'DESCRIZIONE NON TROVATA' IN W-DESCR-ST
         PERFORM CERCA-DESCRIZIONE
           UNTIL W-DIP-FILIALI > W-DIP-PLI-01
           OR    EOF-FILE-FIL = 1
         WRITE W-REC-FILE-REP FROM W-REC-DIPENDENZA AFTER 2 LINES
         WRITE W-REC-FILE-REP FROM W-REC-DESCRIZIONE
         .

      *------------------------*
       STAMPA-INESTAZIONE-DATI.
      *------------------------*
         IF SWITCH-DIP-IN-CORSO = 0
           WRITE W-REC-FILE-REP FROM W-REC-INTESTAZIONE-DATI AFTER 2 LINES
         ELSE
           WRITE W-REC-FILE-REP FROM W-REC-INTESTAZIONE-DATI AFTER 6 LINES
         END-IF
         .

      *------------------*
       CERCA-DESCRIZIONE.
      *------------------*
         IF W-DIP-FILIALI = W-DIP-PLI-01
           MOVE W-DESCR-FIL IN W-DESCR-ST
         END-IF
         .

      *-------------------*
       STAMPA-DATI-PLICO.
      *-------------------*
         MOVE W-NUM-PLI-01   TO W-DATI-NUM-ST
         MOVE W-COSTO-PLI-01 TO W-DATI-COSTO-ST

         WRITE W-REC-FILE-REP FROM W-REC-DATI-PLICHI
         .

      *-------------------*
       STAMPA-COSTO-TOTALE.
      *-------------------*
         MOVE COSTO-TOTALE TO W-COSTO-TOT-ST
         WRITE W-REC-FILE-REP FROM W-REC-TOTALE
         .

      *----------------*
       LETTURA-FILEPLI.
      *----------------*
         READ FILEPLI INTO W-REC-FILE-PLI-01
         AT END MOVE 1 TO EOF-FILE-PLI-01
         .

      *----------------*
       LETTURA-FILECON.
      *----------------*
         READ FILECON INTO W-REC-FILE-PLI-CONTIGUI
         AT END MOVE 1 TO EOF-FILE-PLI-CONTIGUI
          .

      *----------------*
       LETTURA-FILEFIL.
      *----------------*
         READ FILEFIL INTO W-REC-FILE-FILIALI
         AT END MOVE 1 TO EOF-FILE-FILIALI
         .

      *---------*
       FINE-PGM.
      *---------*
         CLOSE FILEPLI
               FILECON
               FILEFIL
               FILEREP
         DISPLAY 'FINE PGM' NOME-PGM
         GOBACK
         .



Titolo: Re: quesito di informatica
Post di: XxTDSxX su Dicembre 23, 2010, 16:25:17
la soluzione è

x = 0

xD


Titolo: Re: quesito di informatica
Post di: Mr.Pkmn su Dicembre 23, 2010, 18:37:14
42 semmai


Titolo: Re: quesito di informatica
Post di: Achtung su Gennaio 12, 2011, 16:48:33
prima ero un hacker, adesso ho smesso, posso dirti solo una cosa, dsevi imparare con gli anni  :yoyo
spero sia fake