По разделам

 

Решение задачи Array 124


Дано целое число K (>0) и целочисленный массив размера N. Поменять местами последнюю серию массива и его серию с номером K (определение серии дано в задании Array116). Если серий в массиве меньше K, то вывести массив без изменений.

Код (C/C++)

#include <stdio.h>
int main(void)
{
    int a[20],b[20];
    int n,k;
    printf("N: ");
    scanf("%i",&n);
    printf("K: ");
    scanf("%i",&k);
 
    int i;
    for (i=0; i<n; ++i){
        printf("a[%i] : ",i+1);
        scanf("%i",&a[i]);
    }
 
    int nk =1, beginkseries=1, lenkseries=(k==1?1:0), beginendseries;
 
    for (i=1; i<n; ++i){
        if (a[i-1]!=a[i]){
            nk++;
            if (nk==k) beginkseries=i;
            beginendseries=i;
        }
        if (nk==k) lenkseries++;
    }
 
    int i2=-1;
    for (i=0; i<beginkseries; ++i)  b[++i2]=a[i];
 
    for (i=beginendseries; i<n; ++i)  b[++i2]=a[i];
 
    for (i=beginkseries+lenkseries; i<beginendseries; ++i)  b[++i2]=a[i];
 
    for (i=beginkseries; i<beginkseries+lenkseries; ++i)  b[++i2]=a[i];
 
    for (i=0; i<n;++i) a[i]=b[i];
 
    for (i=0; i<n;++i) printf("a  %i : %i\n",i+1,a[i]);
 
    return 0;
}

Код (Pascal)

program Array124;
 
var
 a,b : array [1..20] of real;
 N,K,ki,i,i2,i3,kbegin,kend,klast: integer;
 addSeries:boolean;
 
 
begin
//вводим значения из задания
 Write('N: ');
 Readln(N);
 
 Write('K: ');
 Readln(K);
 
 Writeln('A: ');
 for i:=1 to N do
  begin
   write(i,' :');
   readln(a[i]);
  end;
 
// анализируем массив
 ki:=0;
 kbegin:=1; 
 for i:=1 to N do
  if i<>N then
   if a[i]<>a[i+1] then
    begin
     inc(ki);
     klast:=i+1;                 //всегда находя новую серию говорим что первый элемент принадлежит последней серии, в конце цикла здесь окажется действительно первый элемент последней серии.
     if ki+1=k then kbegin:=i+1; //находим первый элемент из серии k
     if ki=k then kend:=i;       //находим последний элемент из серии k
    end;
 
 i:=0;
 i2:=0;
 
//cобираем массив
 while ikbegin) and (i<>klast) then
   begin
    inc(i2);
    b[i2]:=a[i]; //добавляем его в конец массива b
   end;
 
   if i=kbegin then //если массив является первым элементом k серии 
    begin
     for i3:=klast to N do //добавляем последнюю серию в массив b
      begin
       inc(i2);
       b[i2]:=a[i3];
      end;
     i:=kend; //и переносим счётчик в начало следующей серии
    end;
 
   if i=klast then // если текущий элемент является началом последней серии
    begin
     for i3:=kbegin to kend do //добавляем k серию в массив b
      begin
       inc(i2);
       b[i2]:=a[i3];
      end;
     i:=N; //переносим счётчик в конец массива, что бы закрылся цикл.
    end;
  end;
 
 a:=b;
 for i:=1 to i2 do writeln(a[i]); //выводим полученный массив.
end.
									




Array. Абрамян
Array 1 Просмотров: 10191
Array 2 Просмотров: 7004
Array 3 Просмотров: 5716
Array 4 Просмотров: 4888
Array 5 Просмотров: 6600
Array 6 Просмотров: 4543
Array 7 Просмотров: 4452
Array 8 Просмотров: 4747
Array 9 Просмотров: 4270
Array 10 Просмотров: 3909
Array 11 Просмотров: 4685
Array 12 Просмотров: 3773
Array 13 Просмотров: 3347
Array 14 Просмотров: 2849
Array 15 Просмотров: 4405
Array 16 Просмотров: 3422
Array 17 Просмотров: 3296
Array 18 Просмотров: 4425
Array 19 Просмотров: 2951
Array 20 Просмотров: 4676
Array 21 Просмотров: 2679
Array 22 Просмотров: 2417
Array 23 Просмотров: 2849
Array 24 Просмотров: 2668
Array 25 Просмотров: 2201
Array 26 Просмотров: 2874
Array 27 Просмотров: 2362
Array 28 Просмотров: 3069
Array 29 Просмотров: 1783
Array 30 Просмотров: 2612
Array 31 Просмотров: 2057
Array 32 Просмотров: 2440
Array 33 Просмотров: 1794
Array 34 Просмотров: 2109
Array 35 Просмотров: 1479
Array 36 Просмотров: 1568
Array 37 Просмотров: 3072
Array 38 Просмотров: 1650
Array 39 Просмотров: 1701
Array 40 Просмотров: 1917
Array 41 Просмотров: 1715
Array 42 Просмотров: 1378
Array 43 Просмотров: 1639
Array 44 Просмотров: 1513
Array 45 Просмотров: 1578
Array 46 Просмотров: 1384
Array 47 Просмотров: 1809
Array 48 Просмотров: 2911
Array 49 Просмотров: 1792
Array 50 Просмотров: 1336
Array 51 Просмотров: 2149
Array 52 Просмотров: 1989
Array 53 Просмотров: 1541
Array 54 Просмотров: 1535
Array 55 Просмотров: 1399
Array 56 Просмотров: 1259
Array 57 Просмотров: 1495
Array 58 Просмотров: 1396
Array 59 Просмотров: 1766
Array 60 Просмотров: 1286
Array 61 Просмотров: 1245
Array 62 Просмотров: 2107
Array 63 Просмотров: 1653
Array 64 Просмотров: 1357
Array 65 Просмотров: 1739
Array 66 Просмотров: 1581
Array 67 Просмотров: 1296
Array 68 Просмотров: 2460
Array 69 Просмотров: 1865
Array 70 Просмотров: 1761
Array 71 Просмотров: 1485
Array 72 Просмотров: 1407
Array 73 Просмотров: 1184
Array 74 Просмотров: 1421
Array 75 Просмотров: 1594
Array 76 Просмотров: 1418
Array 77 Просмотров: 1200
Array 78 Просмотров: 1414
Array 79 Просмотров: 1197
Array 80 Просмотров: 1157
Array 81 Просмотров: 1068
Array 82 Просмотров: 954
Array 83 Просмотров: 874
Array 84 Просмотров: 867
Array 85 Просмотров: 1008
Array 86 Просмотров: 1493
Array 87 Просмотров: 869
Array 88 Просмотров: 921
Array 89 Просмотров: 962
Array 90 Просмотров: 1758
Array 91 Просмотров: 1117
Array 92 Просмотров: 1361
Array 93 Просмотров: 1370
Array 94 Просмотров: 1170
Array 95 Просмотров: 1585
Array 96 Просмотров: 1295
Array 97 Просмотров: 1170
Array 98 Просмотров: 1888
Array 99 Просмотров: 1114
Array 100 Просмотров: 1081
Array 101 Просмотров: 1138
Array 102 Просмотров: 860
Array 103 Просмотров: 931
Array 104 Просмотров: 910
Array 105 Просмотров: 740
Array 106 Просмотров: 1115
Array 107 Просмотров: 957
Array 108 Просмотров: 1016
Array 109 Просмотров: 954
Array 110 Просмотров: 1025
Array 111 Просмотров: 900
Array 112 Просмотров: 1725
Array 113 Просмотров: 1246
Array 114 Просмотров: 1080
Array 115 Просмотров: 1203
Array 116 Просмотров: 2165
Array 117 Просмотров: 1636
Array 118 Просмотров: 892
Array 119 Просмотров: 787
Array 120 Просмотров: 968
Array 121 Просмотров: 910
Array 122 Просмотров: 985
Array 123 Просмотров: 937
Array 124 Просмотров: 807
Array 125 Просмотров: 838
Array 126 Просмотров: 777
Array 127 Просмотров: 788
Array 128 Просмотров: 854
Array 129 Просмотров: 862
Array 130 Просмотров: 918
Array 131 Просмотров: 1095
Array 132 Просмотров: 878
Array 133 Просмотров: 775
Array 134 Просмотров: 1235
Array 135 Просмотров: 771
Array 136 Просмотров: 925
Array 137 Просмотров: 888
Array 138 Просмотров: 768
Array 139 Просмотров: 896
Array 140 Просмотров: 1496

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться



Заявка на расчет