По разделам

 

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


Дан массив A размера N (≤6). Упорядочить его по возрастанию методом сортировки простыми вставками: сравнить элементы A1 и A2 и, при необходимости меняя их местами, добиться того, чтобы они оказались упорядоченными по возрастанию; затем обратиться к элементу A3 и переместить его в левую (уже упорядоченную) часть массива, сохранив ее упорядоченность; повторить этот процесс для остальных элементов, выводя содержимое массива после обработки каждого элемента (от 2го до N-го). При выполнении описанных действий удобно использовать прием «барьера», записывая очередной элемент перед его обработкой в дополнительный элемент массива A0.

Код (C/C++)

#include <stdio.h>
int main(void)
{
    int a[20];
    int temp;
    int n;
    printf("N: ");
    scanf("%i",&n);
 
    int i;
    for (i=0; i<n; ++i){         printf("a[%i] : ",i+1);         scanf("%i",&a[i]);     }       if (a[0]>a[1]){
        temp=a[0];
        a[0] =a[1];
        a[1] =temp;
    }
    int i2,i3;
 
    for (i=2; i<=n-1; ++i){         temp=a[i];         for (i2=i-1;i2>=0;--i2)
            if (temp<a[i2]) a[i2+1]=a[i2];
            else {
                    break;
            }
        a[i2+1]=temp;
        for (i3=0; i3<n;++i3) printf("  %i: %i\n",i3+1,a[i3]);
        printf("\n");
    }
 
    return 0;
}

Код (Python)

import random

N = random.randrange(2,10)
#N = 3
#a = [N-i for i in range(N)]
a = [random.randrange(1,7) for i in range(N)]
#a = [3, 4, 2]
print("N = ", N)
print("Initial Array:")
print(a)

for i in range(1,N) :
    flag = False
    x = a[i]
    k = i - 1
    while k >= 0 :
        if x >= a[k] :
            break
        else :
            a[k+1] = a[k]
            flag = True
        k -= 1
    if flag and k >= -1:
        a[k+1] = x
        
    print("Step ",i)
    print(a)
    print()
        
#    elif 
print("Modified Array:")
print(a)
									

Код (Pascal)

program Array114;
var
a : array [0..6] of real;
N,i,i2,i3: integer;
 
begin
 Write('N: ');
 Readln(N);
 
 Writeln('A: ');
 for i:=1 to N do
  begin
   write(i,' :');
   readln(a[i]);
  end;
 
  if a[1] > a[2] then
   begin
    a[1]:=a[1]+a[2];
    a[2]:=a[1]-a[2];
    a[1]:=a[1]-a[2];
   end;
 
  for i:=3 to N do
   begin
    a[0]:=a[i];
    for i2:=i-1 downto 0 do
     if a[0]<a[i2] then a[i2+1]:=a[i2]
     else
      begin
       a[i2+1]:=a[0];
       break;
      end;
    for i3:=1 to N do writeln(i3,':',a[i3]:7:0);
    writeln;
   end;
 end.
									




Array. Абрамян
Array 1 Просмотров: 10054
Array 2 Просмотров: 6953
Array 3 Просмотров: 5666
Array 4 Просмотров: 4836
Array 5 Просмотров: 6541
Array 6 Просмотров: 4497
Array 7 Просмотров: 4403
Array 8 Просмотров: 4690
Array 9 Просмотров: 4213
Array 10 Просмотров: 3872
Array 11 Просмотров: 4637
Array 12 Просмотров: 3719
Array 13 Просмотров: 3305
Array 14 Просмотров: 2809
Array 15 Просмотров: 4361
Array 16 Просмотров: 3375
Array 17 Просмотров: 3261
Array 18 Просмотров: 4370
Array 19 Просмотров: 2900
Array 20 Просмотров: 4618
Array 21 Просмотров: 2636
Array 22 Просмотров: 2383
Array 23 Просмотров: 2806
Array 24 Просмотров: 2623
Array 25 Просмотров: 2168
Array 26 Просмотров: 2830
Array 27 Просмотров: 2326
Array 28 Просмотров: 3025
Array 29 Просмотров: 1754
Array 30 Просмотров: 2573
Array 31 Просмотров: 2023
Array 32 Просмотров: 2403
Array 33 Просмотров: 1768
Array 34 Просмотров: 2072
Array 35 Просмотров: 1452
Array 36 Просмотров: 1534
Array 37 Просмотров: 3043
Array 38 Просмотров: 1617
Array 39 Просмотров: 1667
Array 40 Просмотров: 1878
Array 41 Просмотров: 1687
Array 42 Просмотров: 1340
Array 43 Просмотров: 1609
Array 44 Просмотров: 1484
Array 45 Просмотров: 1542
Array 46 Просмотров: 1350
Array 47 Просмотров: 1777
Array 48 Просмотров: 2879
Array 49 Просмотров: 1759
Array 50 Просмотров: 1304
Array 51 Просмотров: 2112
Array 52 Просмотров: 1953
Array 53 Просмотров: 1504
Array 54 Просмотров: 1498
Array 55 Просмотров: 1373
Array 56 Просмотров: 1229
Array 57 Просмотров: 1463
Array 58 Просмотров: 1366
Array 59 Просмотров: 1744
Array 60 Просмотров: 1261
Array 61 Просмотров: 1213
Array 62 Просмотров: 2072
Array 63 Просмотров: 1616
Array 64 Просмотров: 1328
Array 65 Просмотров: 1705
Array 66 Просмотров: 1551
Array 67 Просмотров: 1268
Array 68 Просмотров: 2425
Array 69 Просмотров: 1843
Array 70 Просмотров: 1732
Array 71 Просмотров: 1456
Array 72 Просмотров: 1375
Array 73 Просмотров: 1156
Array 74 Просмотров: 1394
Array 75 Просмотров: 1566
Array 76 Просмотров: 1386
Array 77 Просмотров: 1174
Array 78 Просмотров: 1387
Array 79 Просмотров: 1155
Array 80 Просмотров: 1131
Array 81 Просмотров: 1042
Array 82 Просмотров: 929
Array 83 Просмотров: 847
Array 84 Просмотров: 838
Array 85 Просмотров: 985
Array 86 Просмотров: 1453
Array 87 Просмотров: 845
Array 88 Просмотров: 895
Array 89 Просмотров: 934
Array 90 Просмотров: 1722
Array 91 Просмотров: 1083
Array 92 Просмотров: 1329
Array 93 Просмотров: 1327
Array 94 Просмотров: 1138
Array 95 Просмотров: 1543
Array 96 Просмотров: 1264
Array 97 Просмотров: 1138
Array 98 Просмотров: 1851
Array 99 Просмотров: 1090
Array 100 Просмотров: 1053
Array 101 Просмотров: 1102
Array 102 Просмотров: 832
Array 103 Просмотров: 898
Array 104 Просмотров: 878
Array 105 Просмотров: 706
Array 106 Просмотров: 1092
Array 107 Просмотров: 931
Array 108 Просмотров: 993
Array 109 Просмотров: 926
Array 110 Просмотров: 1000
Array 111 Просмотров: 872
Array 112 Просмотров: 1687
Array 113 Просмотров: 1206
Array 114 Просмотров: 1049
Array 115 Просмотров: 1164
Array 116 Просмотров: 2114
Array 117 Просмотров: 1601
Array 118 Просмотров: 866
Array 119 Просмотров: 763
Array 120 Просмотров: 940
Array 121 Просмотров: 885
Array 122 Просмотров: 956
Array 123 Просмотров: 913
Array 124 Просмотров: 785
Array 125 Просмотров: 812
Array 126 Просмотров: 750
Array 127 Просмотров: 757
Array 128 Просмотров: 831
Array 129 Просмотров: 834
Array 130 Просмотров: 874
Array 131 Просмотров: 1067
Array 132 Просмотров: 839
Array 133 Просмотров: 754
Array 134 Просмотров: 1176
Array 135 Просмотров: 665
Array 136 Просмотров: 885
Array 137 Просмотров: 764
Array 138 Просмотров: 685
Array 139 Просмотров: 837
Array 140 Просмотров: 1371

Комментарии

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



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