По разделам

 

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


Дан массив размера N, все элементы которого, кроме одного, упорядочены по убыванию. Сделать массив упорядоченным, переместив элемент, нарушающий упорядоченность, на новую позицию.

Код (C/C++)

#include <stdio.h>
int swap(float *f1, float *f2){
    *f1+=*f2;
    *f2=*f1-*f2;
    *f1=*f1-*f2;
    return 0;
}
 
int main(void)
{
    float a[10];
 
 
    int n;
    printf("N: ");
    scanf("%i",&n);
 
    int i;
    for (i=0; i<n; ++i){
        printf("a[%i] : ",i+1);
        scanf("%f",&a[i]);
    }
 
    for (i=n-2; i>=0; --i){
        if (a[i]<a[i+1]) {
            swap(&a[i], &a[i+1]);
        }
    }
 
    for (i=1; i<n; ++i){
        if (a[i-1]<a[i]) {
            swap(&a[i-1], &a[i]);
        }
    }
    printf("A: \n");
    for (i=0; i<n; ++i) printf("  %i: %f\n",i+1,a[i]);
 
    return 0;
}

Код (Python)

import random

N = random.randrange(1,21)
##N = 1
##N = 15
a = [random.randrange(1,210) for i in range(N)]
a.sort()
K = random.randrange(0,N)
x = random.randrange(a[K],210)
a = a[:K] + [x] + a[K:]
##a = [7, 8, 20, 22, 30, 55, 79, 88, 116, 150, 161, 173, 179, 174, 197, 209]
##a = [6, 29, 39, 77, 80, 88, 201, 126, 145, 168, 173, 180, 193]
N = len(a)
print("N = ", N)
print("Array:\n",a)

K = 1
while K < N-1 and a[K-1] <= a[K] and a[K] <= a[K+1] :
    K += 1
print("K:",K)

x = a[K]
print("x:",x)

print("move")
while K < N-1 and x > a[K+1] :
    a[K] = a[K+1]
    K += 1
a[K] = x

print("Modified Array:\n",a)
									

Код (Pascal)

program Array89;
var
  a : array[1..10] of Integer;
  N,i:Integer;
 
begin
  Write('N: ');
  Readln(N);
 
  Writeln('A: ');
  for i:=1 to N do
   begin
    write(i,' :');
    readln(a[i]);
   end;
 
  for i:=N-1 downto 1 do
   if a[i]<a[i+1] then
    begin
     a[i+1]:=a[i]+a[i+1];
     a[i]:=a[i+1]-a[i];
     a[i+1]:=a[i+1]-a[i];
    end;
 
   for i:=2 to N do
   if a[i-1]<a[i] then
    begin
     a[i-1]:=a[i]+a[i-1];
     a[i]:=a[i-1]-a[i];
     a[i-1]:=a[i-1]-a[i];
    end;
 
  for i:=1 to N do writeln(i,' :',a[i]);
end.
									




Array. Абрамян
Array 1 Просмотров: 10192
Array 2 Просмотров: 7005
Array 3 Просмотров: 5716
Array 4 Просмотров: 4888
Array 5 Просмотров: 6602
Array 6 Просмотров: 4544
Array 7 Просмотров: 4454
Array 8 Просмотров: 4748
Array 9 Просмотров: 4271
Array 10 Просмотров: 3909
Array 11 Просмотров: 4685
Array 12 Просмотров: 3773
Array 13 Просмотров: 3348
Array 14 Просмотров: 2849
Array 15 Просмотров: 4406
Array 16 Просмотров: 3423
Array 17 Просмотров: 3297
Array 18 Просмотров: 4426
Array 19 Просмотров: 2952
Array 20 Просмотров: 4677
Array 21 Просмотров: 2680
Array 22 Просмотров: 2418
Array 23 Просмотров: 2849
Array 24 Просмотров: 2669
Array 25 Просмотров: 2202
Array 26 Просмотров: 2876
Array 27 Просмотров: 2363
Array 28 Просмотров: 3070
Array 29 Просмотров: 1785
Array 30 Просмотров: 2613
Array 31 Просмотров: 2058
Array 32 Просмотров: 2442
Array 33 Просмотров: 1796
Array 34 Просмотров: 2109
Array 35 Просмотров: 1479
Array 36 Просмотров: 1568
Array 37 Просмотров: 3074
Array 38 Просмотров: 1651
Array 39 Просмотров: 1703
Array 40 Просмотров: 1918
Array 41 Просмотров: 1716
Array 42 Просмотров: 1379
Array 43 Просмотров: 1640
Array 44 Просмотров: 1514
Array 45 Просмотров: 1579
Array 46 Просмотров: 1385
Array 47 Просмотров: 1811
Array 48 Просмотров: 2913
Array 49 Просмотров: 1794
Array 50 Просмотров: 1337
Array 51 Просмотров: 2150
Array 52 Просмотров: 1990
Array 53 Просмотров: 1541
Array 54 Просмотров: 1536
Array 55 Просмотров: 1399
Array 56 Просмотров: 1260
Array 57 Просмотров: 1496
Array 58 Просмотров: 1397
Array 59 Просмотров: 1767
Array 60 Просмотров: 1287
Array 61 Просмотров: 1246
Array 62 Просмотров: 2107
Array 63 Просмотров: 1654
Array 64 Просмотров: 1358
Array 65 Просмотров: 1739
Array 66 Просмотров: 1584
Array 67 Просмотров: 1297
Array 68 Просмотров: 2462
Array 69 Просмотров: 1866
Array 70 Просмотров: 1762
Array 71 Просмотров: 1487
Array 72 Просмотров: 1408
Array 73 Просмотров: 1185
Array 74 Просмотров: 1422
Array 75 Просмотров: 1595
Array 76 Просмотров: 1419
Array 77 Просмотров: 1202
Array 78 Просмотров: 1415
Array 79 Просмотров: 1198
Array 80 Просмотров: 1158
Array 81 Просмотров: 1069
Array 82 Просмотров: 954
Array 83 Просмотров: 876
Array 84 Просмотров: 868
Array 85 Просмотров: 1009
Array 86 Просмотров: 1493
Array 87 Просмотров: 870
Array 88 Просмотров: 921
Array 89 Просмотров: 963
Array 90 Просмотров: 1759
Array 91 Просмотров: 1118
Array 92 Просмотров: 1363
Array 93 Просмотров: 1371
Array 94 Просмотров: 1171
Array 95 Просмотров: 1586
Array 96 Просмотров: 1297
Array 97 Просмотров: 1171
Array 98 Просмотров: 1889
Array 99 Просмотров: 1115
Array 100 Просмотров: 1082
Array 101 Просмотров: 1139
Array 102 Просмотров: 861
Array 103 Просмотров: 932
Array 104 Просмотров: 911
Array 105 Просмотров: 742
Array 106 Просмотров: 1115
Array 107 Просмотров: 959
Array 108 Просмотров: 1017
Array 109 Просмотров: 955
Array 110 Просмотров: 1025
Array 111 Просмотров: 900
Array 112 Просмотров: 1726
Array 113 Просмотров: 1247
Array 114 Просмотров: 1082
Array 115 Просмотров: 1203
Array 116 Просмотров: 2166
Array 117 Просмотров: 1638
Array 118 Просмотров: 893
Array 119 Просмотров: 788
Array 120 Просмотров: 969
Array 121 Просмотров: 911
Array 122 Просмотров: 986
Array 123 Просмотров: 938
Array 124 Просмотров: 809
Array 125 Просмотров: 840
Array 126 Просмотров: 779
Array 127 Просмотров: 790
Array 128 Просмотров: 855
Array 129 Просмотров: 863
Array 130 Просмотров: 920
Array 131 Просмотров: 1096
Array 132 Просмотров: 879
Array 133 Просмотров: 776
Array 134 Просмотров: 1236
Array 135 Просмотров: 772
Array 136 Просмотров: 925
Array 137 Просмотров: 889
Array 138 Просмотров: 769
Array 139 Просмотров: 897
Array 140 Просмотров: 1497

Комментарии

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



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