• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Программа в Паскале.

Ксения)777)

Новые
Регистрация
25 Дек 2010
Сообщения
12
Реакции
0
Баллы
0
Программа в Паскале.

Дана символьная матрица n*n. Для каждого столбца определить кол-во символов не являющимися цифрами. Отсортировать столбцы в порядке убывания полученных значений.
 
Код:
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.
 
Назад
Сверху