Elementlərin ilkin qiymətləri#8965

Elementlərin ilkin qiymətləri (Həll təhlili)

Qoy başlanğıc massivdəki ən kiçik element olsun (bu da çıxışda göstərilməlidir). Hər bir elementə qiyməti əlavə edildikdən sonra yeni yaranan massivdəki ən kiçik element olacaq.

Başlanğıc dəyərləri bərpa etmək üçün başlanğıc massivdə ən kiçik elementi, -i, tapırıq. Biz bilirik ki, min = 2x. -i tapmaq üçün -i -yə bölürük: add = min / 2. Başlanğıc massivdəki bütün elementlərə dəyəri əlavə olunmuşdur. Beləliklə, ilkin dəyərləri bərpa etmək üçün giriş massivinin hər bir elementindən çıxmaq lazımdır.

Misal

Verilmiş misalda ən kiçik element min = -4 olacaq. Onu iki yerə bölürük: add = min / 2 = -2. İndi giriş massivinin hər bir elementindən çıxırıq.

Alqoritmin icrası

İşçi massiv elan edirik.

int m[101];

Giriş massivini oxuyuruq. Orada ən kiçik elementi -i tapırıq.

scanf("%d", &n);
min = 100;
for (i = 0; i < n; i++)
{
   scanf("%d", &m[i]);
   if (m[i] < min) min = m[i];
}

Ən kiçik elementi iki yerə bölürük - bu dəyər başlanğıc massivdəki bütün elementlərə əlavə olunmuşdur.

add = min / 2;

Giriş massivinin hər bir elementindən tapdığımız dəyərini çıxırıq. Eyni zamanda bərpa olunmuş (başlanğıc) massivi çap edirik.

for (i = 0; i < n; i++)
{
  m[i] -= add;
  printf("%d ", m[i]);
}
printf("\n");

Python icrası

Giriş məlumatlarını oxuyuruq.

n = int(input())
lst = list(map(int,input().split()))

Başlanğıc siyahıdakı bütün elementlərə əlavə olunmuş dəyərini tapırıq.

add = min(lst) // 2

siyahısının hər bir elementindən dəyərini çıxırıq.

res = [x - add for x in lst]

Bərpa olunmuş (başlanğıc) massivi çap edirik.

print (*res)