Autore Topic: [Risolto] Operare una sottrazione fra due vettori stringa.  (Letto 969 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.400
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Operare una sottrazione fra due vettori stringa.
« Risposta #15 il: 23 Marzo 2018, 17:58:33 »
Comunque sia, va da sé che l'ultima mia soluzione con due soli Metodi nativi, è migliore delle altre precedenti ipotesi !
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.161
  • Tonno verde
    • Mostra profilo
Re:Operare una sottrazione fra due vettori stringa.
« Risposta #16 il: 23 Marzo 2018, 18:05:27 »
Comunque sia, va da sé che l'ultima mia soluzione con due soli Metodi nativi, è migliore delle altre precedenti ipotesi !
Concordo perfettamente con te, e se volessi dare pure un'occhiata al codice di Find...  :)
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.400
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Operare una sottrazione fra due vettori stringa.
« Risposta #17 il: 23 Marzo 2018, 18:06:01 »
P.S: Chissà se qualche anima pia  :angel: che ben conosce il C vorrà indagare su come lavora Find?

« Dio si sottrae alla "competizione" con l'Uomo, ricacciandolo nell'illusione e nella miseria della possibilità della "Scelta", del "Libero Arbitrio": della capacità di "ri-nunciare" al Tutto »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.161
  • Tonno verde
    • Mostra profilo
Re:Operare una sottrazione fra due vettori stringa.
« Risposta #18 il: 23 Marzo 2018, 18:09:28 »
P.S: Chissà se qualche anima pia  :angel: che ben conosce il C vorrà indagare su come lavora Find?

« Dio si sottrae alla "competizione" con l'Uomo, ricacciandolo nell'illusione e nella miseria della possibilità della "Scelta", del "Libero Arbitrio": della capacità di "ri-nunciare" al Tutto »

Anche se non ho ben capito, sospetto che voglia dire "arrangiati"  ;D
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.400
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Operare una sottrazione fra due vettori stringa.
« Risposta #19 il: 23 Marzo 2018, 18:20:40 »
Va comunque detto che anche il Metodo ".Remove( )" opera certamente una re-allocazione dinamica della memoria, precedentemente riservata, dato che vengono  di fatto ridotti gli elementi costituenti l'array.
E' altresì vero che questa riduzione della quantità di memoria non determina necessariamente l'allocazione di ulteriore porzione di memoria altrove (ossia presso altro indirizzo di memoria), potendosi senz'altro sovrascrivere i vecchi dati con i nuovi.
Inoltre, neppure una riallocazione della memoria "in aggiunta" (mediante il Metodo ".Push( )") determina necessariamente l'allocazione di ulteriore porzione di memoria altrove. Lo stesso Boege aveva posto questa sistuazione come eventuale.

Come possiamo vedere dai risultati ritornati da questo esempio in C:
Codice: [Seleziona]
#include <stdio.h>
#include <stdlib.h>


int main() {

/* Allochiamo dinamicamente 4 byte di memoria */
char *c = malloc(sizeof(char) * 4);
printf("%p\n", c);

/* Reallochiamo la memoria "aggiungendo" 2 byte */
c = realloc(c, sizeof(char) * 6);
printf("%p\n", c);

/* Liberiamo la memoria precedentemente riservata, affinché possa essere eventualmente sovrascritta da altri futuri dati */
free(c);

      return (0);

}
« Ultima modifica: 23 Marzo 2018, 19:20:09 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.161
  • Tonno verde
    • Mostra profilo
Re:Operare una sottrazione fra due vettori stringa.
« Risposta #20 il: 23 Marzo 2018, 18:40:50 »
Interessante, però se non ho capito male, a me Tobias aveva detto dell'altro...
Ho trovato la discussione cui accennavo prima e Minisini qui suggerisce l'uso di una collezione...
Ecco come si scrive quadratica 0(n^2) !
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.400
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Operare una sottrazione fra due vettori stringa.
« Risposta #21 il: 23 Marzo 2018, 18:43:51 »
a me Tobias aveva detto dell'altro...
Se non erro, tu utilizzavi due Oggetti di tipo Array.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.161
  • Tonno verde
    • Mostra profilo
Re:Operare una sottrazione fra due vettori stringa.
« Risposta #22 il: 23 Marzo 2018, 18:46:49 »
a me Tobias aveva detto dell'altro...
Se non erro, tu utilizzavi due Oggetti di tipo Array.

Si hai ragione ma era solo un esempio che raggruppava due funzioni in una sola era per compattare ma giustamente l'avevo capito solo io  ;D
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.400
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Operare una sottrazione fra due vettori stringa.
« Risposta #23 il: 23 Marzo 2018, 18:49:43 »
...come sai, due Oggetti = 2 quantità di memoria = 2 indirizzi di memoria.  :-X
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.161
  • Tonno verde
    • Mostra profilo
Re:Operare una sottrazione fra due vettori stringa.
« Risposta #24 il: 23 Marzo 2018, 18:56:19 »
Forse il punto è questo:
Minisini chiede a Jussi "Why do you have duplicates inside your array?"
È al momento di caricare l'array che andrebbero evitati i doppioni!
Quindi dovremmo usare find per evitare di introdurre i doppioni, è questo il significato?
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.400
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Operare una sottrazione fra due vettori stringa.
« Risposta #25 il: 23 Marzo 2018, 18:59:49 »
Minisini chiede a Jussi "Why do you have duplicates inside your array?"


...in che senso Minisini gli domandava perché lui avesse dei doppioni nell'array ?   ???
In quale array ? Quello di partenza ?
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.161
  • Tonno verde
    • Mostra profilo
Re:Operare una sottrazione fra due vettori stringa.
« Risposta #26 il: 23 Marzo 2018, 19:07:53 »
Minisini chiede a Jussi "Why do you have duplicates inside your array?"


...in che senso Minisini gli domandava perché lui avesse dei doppioni nell'array ?   ???
In quale array ? Quello di partenza ?

Ah non lo so, io ho fatto un'ipotesi, dimmelo tu diversamente, puoi seguire la discussione risalendo a ritroso e/o in avanti con i collegamenti in basso.
 :-\  :-\ (molti dubbi)
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.400
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Operare una sottrazione fra due vettori stringa.
« Risposta #27 il: 23 Marzo 2018, 19:14:56 »
...io gli avrei risposto: " Ma a te che te frega se c'ho i doppioni ? "




...e poi i doppioni delle figurine Panini si possono sempre cambiare con gli amici.   ;D
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.161
  • Tonno verde
    • Mostra profilo
Re:Operare una sottrazione fra due vettori stringa.
« Risposta #28 il: 23 Marzo 2018, 19:24:30 »
...io gli avrei risposto: " Ma a te che te frega se c'ho i doppioni ? "
...
:rotfl:
Scherzi a parte, hai visto questo suggerimento? Sembra il tuo iniziale un po modificato ... la storia si ripete sempre uguale  :D

Comunque non è da sottovalutare la ricerca  preventiva tipo quella suggerita:
Codice: [Seleziona]
IF MyArray.Find("YourString") = -1 THEN MyArray.Add("YourString")

 :ciao:

P.S: laddove sia possibile naturalmente...
« Ultima modifica: 23 Marzo 2018, 19:26:28 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.161
  • Tonno verde
    • Mostra profilo
Re:Operare una sottrazione fra due vettori stringa.
« Risposta #29 il: 23 Marzo 2018, 23:28:38 »
Comunque sia qui il discorso è diverso rispetto a quello della discussione che ho indicato.
Li stanno parlando di doppioni in una matrice e può avere una sua logica l'impedirne preventivamente il loro formarsi controllando, come detto, che il dato non sia già stato incamerato.
Diverso invece il discorso che stiamo facendo qui dove abbiamo già due elenchi e uno va sottratto all'altro; con la tua ultima dimostrazione nettamente migliore delle altre.
Direi che possiamo apporre un bel risolto  :D
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro