По разделам

 

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


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

Код (C/C++)

#include <stdio.h>
int main(void)
{
    int a[11];
 
    int n;
 
    printf("N: ");
    scanf("%i",&n);
 
    int i;
    for (i=0; i<n; ++i){
        printf("a[%i] : ",i+1);
        scanf("%i",&a[i]);
    }
 
    int min=0,max=0;
 
    for (i=n-1; i>=0; --i){
        if (a[i]>a[max]) max=i;
        if (a[i]<a[min]) min=i;
    }
 
    if (max<min) {
        max+=min;
        min=max-min;
        max=max-min;
    }
 
    for (i=min; i<min+1+(max-min)/2; ++i){
            if (i!=(max-i+min)){
                a[i]+=a[max-i+min];
                a[max-i+min]=a[i]-a[max-i+min];
                a[i]=a[i]-a[max-i+min];
            }
        }
 
    printf("A: \n");
    for (i=0; i<n; ++i) printf("  %i: %i\n",i+1,a[i]);
 
    return 0;
}

Код (Python)

import random

N = random.randrange(2,15)
a = random.sample(range(0, 100), N)
#a = [random.randrange(1,11) for i in range(N)]
#a = [i+1 for i in range(N)]

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

max_val = max(a)
max_idx = a.index(max_val)

min_val = min(a)
min_idx = a.index(min_val)

print("Max:",max_val,"; Index:",max_idx)
print("Min:",min_val,"; Index:",min_idx)

if min_idx < max_idx :
    start_idx = min_idx
    end_idx = max_idx
else :
    start_idx = max_idx
    end_idx = min_idx

L = end_idx + 1
K = start_idx + 1

##print("L:",L)
##print("K:",K)

M = (L-K+1)//2
##print("M:",M)
i = 0
while i < M :
##    print(i,K-1+i,L-1-i)
    a[K-1+i], a[L-1-i] = a[L-1-i], a[K-1+i]
    i += 1
   
print("Modified Array a:\n",a)
									

Код (Pascal)

program Array75;
var
  a : array[1..10] of integer;
  N,Amin,Amax,i:Integer;
 
begin
  Write('N: ');
  Readln(N);
 
  Writeln('A: ');
  for i:=1 to N do
   begin
    write(i,' :');
    readln(a[i]);
   end;
 
 
  Amax:=1;
  for i:=1 to N do if a[Amax]<a[i] then Amax:=i;
  Amin:=Amax;
  for i:=1 to N do if a[Amin]>a[i] then Amin:=i;
 
  if Amin>Amax then
   begin
    Amin:=Amin+Amax;
    Amax:=Amin-Amax;
    Amin:=Amin-Amax;
   end;
 
   i:=Amin;
   while i<Amin+(Amax-Amin)/2 do
    if i<>(Amax-i+Amin) then
     begin
      a[i]:=a[i]+a[Amax-i+Amin];
      a[Amax-i+Amin]:=a[i]-a[Amax-i+Amin];
      a[i]:=a[i]-a[Amax-i+Amin];
      i:=i+1;
     end
    else i:=i+1;
 
 
  for i:=1 to N do writeln(i,' :',a[i]);
end.
									




Array. Абрамян
Array 1 Просмотров: 10053
Array 2 Просмотров: 6952
Array 3 Просмотров: 5665
Array 4 Просмотров: 4834
Array 5 Просмотров: 6540
Array 6 Просмотров: 4496
Array 7 Просмотров: 4402
Array 8 Просмотров: 4689
Array 9 Просмотров: 4212
Array 10 Просмотров: 3870
Array 11 Просмотров: 4636
Array 12 Просмотров: 3717
Array 13 Просмотров: 3304
Array 14 Просмотров: 2808
Array 15 Просмотров: 4360
Array 16 Просмотров: 3374
Array 17 Просмотров: 3260
Array 18 Просмотров: 4369
Array 19 Просмотров: 2899
Array 20 Просмотров: 4616
Array 21 Просмотров: 2634
Array 22 Просмотров: 2382
Array 23 Просмотров: 2805
Array 24 Просмотров: 2622
Array 25 Просмотров: 2167
Array 26 Просмотров: 2829
Array 27 Просмотров: 2325
Array 28 Просмотров: 3024
Array 29 Просмотров: 1754
Array 30 Просмотров: 2572
Array 31 Просмотров: 2021
Array 32 Просмотров: 2402
Array 33 Просмотров: 1767
Array 34 Просмотров: 2071
Array 35 Просмотров: 1451
Array 36 Просмотров: 1533
Array 37 Просмотров: 3041
Array 38 Просмотров: 1615
Array 39 Просмотров: 1666
Array 40 Просмотров: 1877
Array 41 Просмотров: 1686
Array 42 Просмотров: 1338
Array 43 Просмотров: 1608
Array 44 Просмотров: 1483
Array 45 Просмотров: 1541
Array 46 Просмотров: 1348
Array 47 Просмотров: 1776
Array 48 Просмотров: 2879
Array 49 Просмотров: 1759
Array 50 Просмотров: 1304
Array 51 Просмотров: 2111
Array 52 Просмотров: 1952
Array 53 Просмотров: 1503
Array 54 Просмотров: 1497
Array 55 Просмотров: 1372
Array 56 Просмотров: 1227
Array 57 Просмотров: 1462
Array 58 Просмотров: 1365
Array 59 Просмотров: 1743
Array 60 Просмотров: 1260
Array 61 Просмотров: 1212
Array 62 Просмотров: 2071
Array 63 Просмотров: 1615
Array 64 Просмотров: 1327
Array 65 Просмотров: 1705
Array 66 Просмотров: 1550
Array 67 Просмотров: 1267
Array 68 Просмотров: 2423
Array 69 Просмотров: 1842
Array 70 Просмотров: 1731
Array 71 Просмотров: 1454
Array 72 Просмотров: 1374
Array 73 Просмотров: 1155
Array 74 Просмотров: 1392
Array 75 Просмотров: 1565
Array 76 Просмотров: 1384
Array 77 Просмотров: 1174
Array 78 Просмотров: 1386
Array 79 Просмотров: 1154
Array 80 Просмотров: 1129
Array 81 Просмотров: 1041
Array 82 Просмотров: 928
Array 83 Просмотров: 846
Array 84 Просмотров: 837
Array 85 Просмотров: 984
Array 86 Просмотров: 1452
Array 87 Просмотров: 841
Array 88 Просмотров: 894
Array 89 Просмотров: 933
Array 90 Просмотров: 1722
Array 91 Просмотров: 1081
Array 92 Просмотров: 1328
Array 93 Просмотров: 1326
Array 94 Просмотров: 1136
Array 95 Просмотров: 1542
Array 96 Просмотров: 1263
Array 97 Просмотров: 1136
Array 98 Просмотров: 1851
Array 99 Просмотров: 1089
Array 100 Просмотров: 1052
Array 101 Просмотров: 1101
Array 102 Просмотров: 831
Array 103 Просмотров: 897
Array 104 Просмотров: 876
Array 105 Просмотров: 705
Array 106 Просмотров: 1091
Array 107 Просмотров: 930
Array 108 Просмотров: 991
Array 109 Просмотров: 925
Array 110 Просмотров: 998
Array 111 Просмотров: 871
Array 112 Просмотров: 1685
Array 113 Просмотров: 1205
Array 114 Просмотров: 1049
Array 115 Просмотров: 1163
Array 116 Просмотров: 2113
Array 117 Просмотров: 1600
Array 118 Просмотров: 865
Array 119 Просмотров: 762
Array 120 Просмотров: 939
Array 121 Просмотров: 884
Array 122 Просмотров: 955
Array 123 Просмотров: 912
Array 124 Просмотров: 785
Array 125 Просмотров: 811
Array 126 Просмотров: 749
Array 127 Просмотров: 756
Array 128 Просмотров: 830
Array 129 Просмотров: 833
Array 130 Просмотров: 872
Array 131 Просмотров: 1064
Array 132 Просмотров: 838
Array 133 Просмотров: 753
Array 134 Просмотров: 1175
Array 135 Просмотров: 664
Array 136 Просмотров: 884
Array 137 Просмотров: 763
Array 138 Просмотров: 684
Array 139 Просмотров: 836
Array 140 Просмотров: 1370

Комментарии

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



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