Поиск

Вход на сайт

Файлы

  • Игры 240х400 - Сборник из 72 игр для сенсорных телефонов
  • Windows 7 активатор
  • WallHack для Call of Duty 4 Modern Warfare[multiplayer]
  • Обои для Samsung s5230 720х400
  • Kassy 0.3 + crack (печать товарных чеков)
  • Jimm 0.6.0
  • Mail Agent на телефон (jar)
  • Механоиды гонки на выживание nocd
  • Читы CS 1.6 - Wallhack v4
  • Tequilacat Book Reader 2.2.8
  • Обои для Samsung s5230 720х400
  • Обои для Samsung s5230 720х400
  • l4d_update_1013_to_1014
  • Windows 7 Activator Pack
  • Сборник виджетов для SAMSUNG S5230
  • Шпаргалка по русскому языку
  • Ad Muncher 4.9 Build 31235
  • TMS Component Pack v5.4.2.0 (C++Builder, Delphi) Full Source
  • Архив файлов для Guitar Pro
  • Шпаргалка по математике
  • KKiller v3.4.4
  • Решатель транспортных задач
  • Radmin_3.3_+_Key
  • Sound_Forge_9.0a + crack
  • GPU-Z 0.3.8 (RUS/2009)
  • Чит для Battlefield 2 || ArtificialAiming Radar v2.6
  • Игры для Nokia 5800, N97, 5230, 5530, X6 - Игры для смартфонов серии Nokia Touch, с сенсорным экраном 360 x 640 (S60 5th Edition)
  • Читы CS 1.6 - BadBoy v5.0
  • Читы для lineage 2
  • Total Commander
  • Каталог статей

    Главная » Статьи » Языки программирования » Pascal

    Работа с двумерными массивами Паскаль (Pascal)
    Задание:
    В числовом квадратном массиве постройте "спираль Улама” следующим образом: начиная с центрального элемента по спирали против часовой стрелки, массив заполняется натуральными числами от 1 до N^2. Определить количество простых чисел в массиве.

    Исходный код:
    Program name;
    uses crt;
    var
     a:array[1..50,1..50] of integer;
     i,j,m,n:integer;
     u,v,k,kol,t,x,y,add,dir,f,h:integer;
     b:array[1..2500] of integer;
     p:array[1..2500] of integer;
     g,r,q:integer;

     {fun-ya poiska prostogo 4isla}
    function Prostoe(d:longint):boolean;
    var e:integer;
     begin
      Prostoe:=true;
      for e:=2 to d div 2 do
      if D mod 2=0 then
       begin
        Prostoe:=false;
        Break;
       end;
     end;

    begin
    clrScr;

    writeln('input razmer matrici: ');
    readln(n);
    m:=n*n;

    g:=1;
    for i:=1 to n do
     begin
      for j:=1 to n do
       begin
        a[i,j]:=g;
        g:=g+1;
        writeln;
       end;
     end;

    for i:=1 to n do
     begin
      for j:=1 to n do
       write(a[i,j]:3,' ');
      writeln;
     end;


    k:=1;
    kol:=1;
    for i:=1 to n do
     begin
      {writeln;}
       for j:=1 to n do
        begin
         b[k]:=a[i,j];
         k:=k+1;
         kol:=kol+1;
        end;
     end;

    writeln;
    for i:=1 to kol-1 do
      begin
        for j:=1 to kol-2 do
         begin
          if b[j]<b[j+1] then
           begin
            t:=b[j];
            b[j]:=b[j+1];
            b[j+1]:=t;
           end;
         end;
      end;
      {for j:=1 to m do write (b[j],' ');
      writeln;}

    x:=0;
    y:=1;
    add:=n;
    dir:=1;
    f:=1;
    while add<>0 do
     begin
      i:=0;
      while i<>add do
       begin
         x:=x+dir;
         a[y,x]:=b[f];
         f:=f+1;
         i:=i+1;
       end;
      i:=0;
      add:=add-1;
      while i<>add do
        begin
          y:=y+dir;
          a[y,x]:=b[f];
          f:=f+1;
          i:=i+1;
        end;
      dir:=dir*(-1);
    end;

    writeln;
    {vivod vsego massiva}
    for i:=1 to n do
     begin
      for j:=1 to n do
       write(a[i,j]:3,' '); {vivod vsego massiva}
      writeln;
     end;
     {poisk prostogo 4isla}
     q:=1;
     for i:=1 to n do
     begin
      for J:=1 to n do
       begin
        if Prostoe(a[i,j]) then
         q:=q+1;
       end;
     end;
     writeln;
     writeln('kol-wo prostih 4isel= ',q); {vivod kol-va prosogo 4isla}

    readln;
    end.
    Категория: Pascal | Добавил: _Hz_ (28.02.2010)
    Просмотров: 659 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]

    Статистика





    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Ссылки

    dim-dragon.ucoz.ru