Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 INFORMATICA - Primo Anno
 Programmazione
 Fusione 2 vettori
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

Dieguz_82
Nuovo Utente


Regione: Puglia
Prov.: LE
Città: Lecce


Inserito il - 07/01/2005 : 20:30:12  Mostra Profilo  Visita l'Homepage di Dieguz_82  Invia a Dieguz_82 un messaggio ICQ Invia a Dieguz_82 un Messaggio Privato  Rispondi Quotando
Sto avendo un problemuccio su sto programma pascal...
Praticamente è un programma che acquisisce 2 array in entrata e ne da un altro in uscita con la fusione dei due.
mi da un errore sulle costanti parametrizzate, ma non so come risolvere.
Il professore ha detto che vuole parametrizzato tutto (tranne gli indici degli array).

Il listato:

Program Fusione_array(input,output); (*Programma che acquisisce 2 vettori di diversa lunghezza
e li fonde in un altro*)
const
x=3;
y=4;
type
T1_vettore = array [1..x] of integer;
T2_vettore = array [1..y] of integer;
T12_vettore = array [1..x+y] of integer;

var
a:T1_vettore;
b:T2_vettore;
c:T12_vettore;
i,primo,k,j,mezzo,h,ultimo,z,i1,i2,p,q:integer;

procedure inserimento(var m,n:integer; var vettore1:T1_vettore; var vettore2:T2_vettore);
var i:integer;
begin
   for i:=1 to m do
      begin
      writeln('Inserire l''',i,'-mo elemento del primo vettore');

      readln(vettore1[i]);
      end;
   for i:=1 to n do
      begin
      writeln('Inserire l''',i,'-mo elemento del secondo vettore');

      readln(vettore2[i]);
   end
end;

//fin qui ok secondo me...

{procedure fusione(m,n:integer; vettore1:T1_vettore; vettore2:T2_vettore; vettore3:T12_vettore);
begin
primo:=1;
i:= primo;
k := primo;
j:= primo;
z:=8;
while

     (i <= m) and (j <= n) do
       begin
         if vettore1[i] < vettore2[j]
         then
            begin
               vettore3[k] := vettore1[i];
               i := i + 1;
               i1:=i;
            end
         else
            begin
                 vettore3[k] := vettore2[j];
                 j := j + 1;
                 i2:=j;

            end;
                 k := k + 1;
      end;
      if i <= m
       then
        begin
        q := z- k;
        for h := q downto 0 do
        vettore3[k+h] := vettore1[i+h]
        end
         else

          if j<=n then
           begin
           p := z- k;
           for h := p downto 0 do
           vettore3[k+h] := vettore2[j+h]
           end;
           for k:=1 to (n+m) do
           begin
             write(' ',vettore3[k]);
           end;
end; }


Begin
inserimento(x,y,a,b);
//fusione(x,y,a,b,c);
readln;
End.



Grazie mille

http://brainst0rm.altervista.org/
clicca sulla pubblicità per favore :P

tremenda
Utente assiduo

tweety


Regione: Puglia
Prov.: Ba
Città: Bari


Inserito il - 08/01/2005 : 12:15:53  Mostra Profilo  Visita l'Homepage di tremenda  Clicca per vedere l'indirizzo MSN di tremenda Invia a tremenda un Messaggio Privato  Rispondi Quotando
Che corso 6?

"And I feel that love is dead I'm loving angels instead..."
Torna all'inizio della Pagina

Dirak
Utente medio


Regione: Puglia
Prov.: Bari
Città: Bari


Inserito il - 08/01/2005 : 14:54:19  Mostra Profilo  Visita l'Homepage di Dirak Invia a Dirak un Messaggio Privato  Rispondi Quotando
3 ma i fatti tuoi mai?

...Like a thing and another...
Torna all'inizio della Pagina

adler
Nuovo Utente


Regione: Puglia
Prov.: Bari
Città: Bari


Inserito il - 08/01/2005 : 15:32:55  Mostra Profilo  Visita l'Homepage di adler Invia a adler un Messaggio Privato  Rispondi Quotando
Se x e y sono costanti, i parametri formali m e n non possono realizzare un passaggio per riferimento; inoltre non ce ne sarebbe neanche il motivo, poichè la procedura inserimento da te realizzata non modificherebbe x e y anche se queste fossero variabili. Diventa, quindi:

procedure inserimento(m,n:integer; var vettore1:T1_vettore; var vettore2:T2_vettore);

A dire il vero, io farei una procedura di inserimento che realizza l'input di un solo vettore, richiamata due volte dal main.

Inoltre, ti ricordo che prima di fare la fusione di due vettori, questi devono essere ordinati!
Dovresti, quindi, realizzare una procedura di ordinamento per un vettore, richiamata dal main 2 volte, una per ciascun vettore.

Il main dovrebbe pressappoco essere così:

Begin
inserimento(x,a);
inserimento(y,b);
ordina(x,a);
ordina(y,b);
fusione(x,y,a,b,c);
readln;
End.
Torna all'inizio della Pagina

Dieguz_82
Nuovo Utente


Regione: Puglia
Prov.: LE
Città: Lecce


Inserito il - 08/01/2005 : 17:58:19  Mostra Profilo  Visita l'Homepage di Dieguz_82  Invia a Dieguz_82 un messaggio ICQ Invia a Dieguz_82 un Messaggio Privato  Rispondi Quotando
Sisi ci sono arrivato dopo! Volevo cambiare il valore di costanti! Che scemo!

Grazie a *

http://brainst0rm.altervista.org/
clicca sulla pubblicità per favore :P
Torna all'inizio della Pagina

tremenda
Utente assiduo

tweety


Regione: Puglia
Prov.: Ba
Città: Bari


Inserito il - 09/01/2005 : 12:10:07  Mostra Profilo  Visita l'Homepage di tremenda  Clicca per vedere l'indirizzo MSN di tremenda Invia a tremenda un Messaggio Privato  Rispondi Quotando
Citazione:
Messaggio inserito da Dirak

3 ma i fatti tuoi mai?



L'ho chiesto xkè a noi l'algoritmo x la fusione è completamente diverso!

"And I feel that love is dead I'm loving angels instead..."
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,21 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000