Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Программа в Паскале. (http://www.tehnari.ru/f41/t45898/)

Ксения)777) 18.01.2011 17:04

Программа в Паскале.
 
Дана символьная матрица n*n. Для каждого столбца определить кол-во символов не являющимися цифрами. Отсортировать столбцы в порядке убывания полученных значений.

Vladimir_S 18.01.2011 22:22

Код:

Uses CRT;
Const
 N=10;
Type
 Vector=Array[1..N] of Char;
Var
 M:Array[1..N] of Vector;
 V:Vector;
 Num:Array [1..N] of Byte;
 i,j: integer;
 Number:Byte;

BEGIN
 ClrScr;
 Randomize;
 for j:=1 to N do
  for i:=1 to N do
  M[j][i]:=CHR(33+Random(30));

 for i:=1 to N do
  begin
  for j:=1 to N do
    write(M[j][i],'  ');
  writeln;
  end;

 writeln;

 for j:=1 to N do
  begin
  Num[j]:=0;
  for i:=1 to N do
    If (Ord(M[j][i])<48) or (Ord(M[j][i])>57) then Inc(Num[j]);
  end;

 For j:=1 to N do write(Num[j],'  ');
 writeln;
 writeln;

 For i:=1 to N do
  For j:=1 to N-i do
  If Num[j+1]>Num[j] then
    begin
    V:=M[j+1];
    Number:=Num[j+1];
    M[j+1]:=M[j];
    Num[j+1]:=Num[j];
    M[j]:=V;
    Num[j]:=Number;
    end;

 for i:=1 to N do
  begin
  for j:=1 to N do
    write(M[j][i],'  ');
  writeln;
  end;

 readln;
end.



Часовой пояс GMT +4, время: 18:51.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.