Pascal/Turbo Pascal - Ayuda con ejercicio!!

   
Vista:

Ayuda con ejercicio!!

Publicado por mario (6 intervenciones) el 22/05/2016 20:19:29
Hola amigos
tengo una duda, yo tengo el programa hecho en pascal que lee y copia una oracion de un bloc de notas, y genera una salida (otro archivo bloc de notas con la oracion copiada del otro archivo). Mi duda es que tendria que hacer para que me copie pero en orden inverso, seria al revez la oracion. me falta ese codigo como especifica en la consigna.

Ejemplo:

La consigna es:
Dado un archivo de texto, de un renglón. Escribir un programa que tenga como salida otro archivo
donde el renglón esté escrito en orden inverso:
Por ejemplo:
Entrada
Los días de octubre son hermosos
Salida
sosomreh nos erbutco ed saíd soL
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con ejercicio!!

Publicado por ramon (2072 intervenciones) el 22/05/2016 22:39:38
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
{Mira esto}
 
 program lineatext;
  uses
    crt;
  const
     tex = 'Los días de octubre son hermosos';
     archi = 'mitex.txt';
     archi2 = 'mitex2.txt';
 
  var
    f : text;
    dat : string;
 
  procedure creaarchivo;
  begin
      assign(f,archi);
      rewrite(f);
      dat := copy(tex,1,length(tex));
      writeln(f,tex);
      close(f);
  end;
 
 
  procedure creainvertido;
  var
    i, h : longint;
    camb : string;
  begin
     assign(f,archi);
   {$I-} reset(f); {$I+}
     if ioresult <> 0 then
     begin
       writeln('   Error De Archivo O No Existe Pulse Una Tecla');
       readkey;
     end
  else
     begin
        h := 1;
        readln(f,dat);
        close(f);
        assign(f,archi2);
        rewrite(f);
        for i := length(dat) downto 1 do
        begin
           camb[h] := dat[i];
           camb[0] := chr(h);
           h := h + 1;
        end;
          writeln(f,camb);
          close(f);
     end;
   end;
 
 
     procedure leeinvertido;
     begin
        assign(f,archi2);
   {$I-} reset(f); {$I+}
     if ioresult <> 0 then
     begin
       writeln('   Error De Archivo O No Existe Pulse Una Tecla');
       readkey;
     end
  else
     begin
        readln(f,dat);
        close(f);
        writeln('   ',dat);
     end;
   end;
 
   procedure leenormal;
   begin
      assign(f,archi);
   {$I-} reset(f); {$I+}
     if ioresult <> 0 then
     begin
       writeln('   Error De Archivo O No Existe Pulse Una Tecla');
       readkey;
     end
  else
     begin
        readln(f,dat);
        close(f);
        writeln('   ',dat);
     end;
   end;
 
 
   begin
      clrscr;
      creaarchivo;
      creainvertido;
      writeln;
      leenormal;
      writeln;
      leeinvertido;
      readkey;
   end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con ejercicio!!

Publicado por mario (6 intervenciones) el 22/05/2016 23:11:42
y en este codigo que le sumarias para que haga lo mismo que tu codigo, solo necesito "leer" el texto de un archivo bloc de notas que ya lo tengo creado que esta en esa direccion y pasarlo a un archivo de salida de texto(otro bloc de notas) pero la reves, desde ya gracias ramon

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
program invt;
uses
 crt, dos;
var
 Fichero1, Fichero2: Text;
i:integer;
caracter : char;
frase:  string[30];
f_inv: string[30];
t:string;
begin
 ClrScr;
 Assign (Fichero1, 'C:\dev-pas\ejercicio\salida.txt');
 Rewrite (Fichero1);
 Assign (Fichero2, 'C:\dev-pas\ejercicio\entrada.txt');
 Reset (Fichero2);
 while not Eof (Fichero2) do
 begin
 while not Eof (Fichero2) do
 begin
 
Read(Fichero2, Caracter);
 
 
Write (Fichero1,caracter);
end;
 
 readln(Fichero2); {* se usa para saltar el carácter de fin de línea *}
 writeln(Fichero1) {* se usa para insertar el carácter de fin de línea *}
 end;
 Close (Fichero1);
 Close (Fichero2)
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con ejercicio!!

Publicado por ramon (2072 intervenciones) el 22/05/2016 23:44:31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
{Prueba esto}
 
program invt;
uses
crt, dos;
var
Fichero1, Fichero2: Text;
i, m:integer;
caracter : char;
frase: string[30];
f_inv: string[30];
t, c :string;
begin
ClrScr;
Assign (Fichero1, 'C:\dev-pas\ejercicio\salida.txt');
Rewrite (Fichero1);
Assign (Fichero2, 'C:\dev-pas\ejercicio\entrada.txt');
Reset (Fichero2);
while not Eof (Fichero2) do
begin
Readln(Fichero2, t);
m := 1;
for i := length(t) downto 1 do
begin
  c[m] := t[i];
  c[0] := chr(m);
  m := m + 1;
  Writeln(Fichero1,c);
end;
Close (Fichero1);
Close (Fichero2)
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar