Pascal/Turbo Pascal - ayuda para crear un procedimiento

 
Vista:
sin imagen de perfil

ayuda para crear un procedimiento

Publicado por larry (9 intervenciones) el 07/01/2014 13:31:55
Construye un procedimiento que tome como parámetros de entrada dos tiras de tamaño N (N
constante conocida), la primera con letras mayúsculas y la segunda con enteros positivos no
superiores a N, y como parámetro de salida una matriz M(NxN) en la que se asignan las letras de la
primera tabla de la siguiente forma:
Ejemplo: N=4 R O M A 4 2 1 3
matriz M
R.........
R.........A
R O ....A
R O M A
NOTA( LOS PUNTOS SON ESPACIOS EN BLANCO )
GRACIAS
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 para crear un procedimiento

Publicado por ramon (2158 intervenciones) el 09/01/2014 11:24:09
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
{Esto serbira}
 
program letras;
 uses
    crt;
  const
     num = 4;
  type
    tirasletra = array[1..num] of char;
    tirasnumer = array[1..num] of integer;
  var
    letra : tirasletra;
    numer : tirasnumer;
    n : integer;
 
  procedure entradas(var lt : tirasletra; var nt : tirasnumer);
  var
    nume : integer;
    letr : char;
  begin
     letr := ' ';
     for n := 1 to num do
     begin
     clrscr;
     write('  Entre Letras Max [',num,'] Letra Num [',n,'] : ');
     write(letr);
     repeat
       letr := upcase(readkey);
     until letr in['A'..'Z'];
     lt[n] := letr;
     end;
     nume := 0;
     for n := 1 to num do
     begin
       clrscr;
       write('  Entre Numeros Max [',num,'] Num [',n,'] : ');
       if nume > 0 then
       write(nume);
       repeat
           letr := readkey;
           nume := ord(letr) - 48;
           if nume > num then
           letr := ' ';
       until letr in['1'..'9'];
       nt[n] := nume;
     end;
  end;
 
  procedure presenta(l :tirasletra;nm :tirasnumer);
  var
    matri : array[1..num,1..num] of char;
    g : integer;
  begin
     fillchar(matri,sizeof(matri),' ');
     clrscr;
     for n := 1 to num do
     begin
        write(' ',l[n]);
     end;
     write(' =');
     for n := 1 to num do
     begin
        write(' ',nm[n]);
     end;
     writeln;
     for n := 1 to num do
      for g := 1 to nm[n] do
      matri[nm[n],g] := l[g];
      for n := 1 to num do
      begin
        for g := 1 to num do
        begin
          write(' ',matri[n,g]);
        end;
        writeln;
      end;
  end;
 
  begin
     entradas(letra,numer);
     presenta(letra,numer);
     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