понеделник, 13 декември 2010 г.

Задача 10 - два масива

Задача 10 - Pascal
Да се състави програма,в която да се организира въвеждането на произволни числови стойности в двумерен масив a(5,5). Да се образува и изведе нов едномерен масив b(25),в който се прехвърлят тези от числата от масива а,чийто стойности са в границите на числовия интервал [-10,15]

program dva_masiva;
const 
  N = 5;
  M = 25;
var 
  a: array[1..N,1..N] of integer;
  b: array[1..M] of integer;
  i, j:integer;
begin
  for i := 1 to N do
    for j := 1 to N do
      a[i][j] := 50 - Random(100);
  for i := 1 to N do
    for j := 1 to N do
      if (a[i][j] >= -10) AND (a[i][j] <= 15) then
        b[(i-1)*5+j] := a[i][j];
  for i := 1 to M do
    if b[i] <> 0 then
      WriteLn(i,':', b[i]);
end.

Задачата може да се репи и само с един брояч но така решението е малко по-прегледно.

Задачата се компилира под FreePascal

aquilax@think /d/p/z/10_dva_masiva> fpc 10_dva_masiva.pas 
Free Pascal Compiler version 2.4.0-2 [2010/03/06] for x86_64
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling 10_dva_masiva.pas
Linking 10_dva_masiva
20 lines compiled, 0.0 sec 
aquilax@think /d/p/z/10_dva_masiva> ./10_dva_masiva 
1:-4
2:-9
5:-10
7:-4
9:8
12:12
13:7
19:12
20:3
23:-2
24:3
25:-6

Няма коментари:

Публикуване на коментар