Pascal/Turbo Pascal - ejercios en pascal

 
Vista:

ejercios en pascal

Publicado por nohelys carrerp (1 intervención) el 19/07/2014 23:20:51
hola necesito ayuda no se como resolver estos ejercicios...!!

1)Desarrolle un programa en pascal, que almacene en una matriz de nxm y calcule la suma de los valores que se encuentran por debajo de la diagonal secundaria

2)desarrolle un programa que almacene en una matriz nxm ,valores entero y determinar en qué fila está el mayor número par.
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

ejercios en pascal

Publicado por ramón (2158 intervenciones) el 24/07/2014 13:46:33
Esto te puede servir.

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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
program matrsegind;
  uses
     crt;
  const
      n = 5;
      m = 5;
  type
     matriz = array[1..n,1..m] of integer;
     string3 = string[3];
 
  var
    matri : matriz;
    cont, i, h, d : integer;
    arr : array[1..(n * m)] of integer;
    lapos : string3;
 
 
    function existe(t : integer) : boolean;
    var
       c, v : integer;
    begin
       existe := false;
       for c := 1 to cont - 1 do
        if arr[c] = t then
        begin
        existe := true;
        break;
      end;
    end;
 
  procedure cargavalores;
  var
    z, l, r, s : integer;
  begin
     randomize;
     cont := 1;
     repeat
        s := random((n * m) * 3) + 1;
        if existe(s) = false then
        begin
        arr[cont] := s;
        cont := cont + 1;
        end;
     until cont > (n * m);
     z := 1;
     l := 1;
     writeln;
     for r := 1 to cont - 1 do
     begin
        matri[z,l] := arr[r];
        write('  ',matri[z,l]);
        l := l + 1;
        if l > m then
        begin
           l := 1;
           z := z + 1;
           writeln;
        end;
     end;
       writeln;
  end;
 
  procedure suma;
  var
    resu, b, g, k : integer;
    begin
       b := 1;
       g := round(n / 2);
       resu := 0;
       k := 1;
       writeln;
    repeat
        resu := resu + matri[g,b];
        writeln('  ',matri[g,b]);
        g := g + 1;
       if g > n then
       begin
       g := round(n / 2) + b;
       b := b + 1;
       end;
    until b > round(n / 2);
    writeln;
    writeln(' La Suma Resulto : ',resu);
    end;
 
  function mayorpar(mm : matriz) : string3;
  var
    va, pa, pd : integer;
  begin
      va := 0;
      for h := 1 to n do
        for d := 1 to m do
      if mm[h,d] mod 2 = 0 then
      begin
        if va < mm[h,d] then
        begin
           va := mm[h,d];
           pa := h;
           pd := d;
        end;
      end;
       mayorpar := chr(va) + chr(pa) + chr(pd);
  end;
 
 
  begin
     clrscr;
     cargavalores;
     suma;
     writeln;
     lapos := mayorpar(matri);
     writeln('  Mayor Par = ',ord(lapos[1]));
     writeln('  Posicion  = ',ord(lapos[2]));
     writeln('  Posicion  = ',ord(lapos[3]));
      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