Massivin maksimum elementini tapırıq. Maksimuma bərabər olmayan bütün ədədlərin cəmini hesablayırıq. Qeyd edək ki, massivdə maksimum elementlər bir neçə ola bilər.
Nümunə
Gətirilən nümunədə ən böyük element -a bərabərdir.
Maksimuma bərabər olmayan elementlərin cəmi 5 + 3 + 4 + 6 = 18-ə bərabərdir.
Alqoritmin icrası
İşçi massivi elan edirik.
int m[101];Giriş massivini oxuyuruq.
scanf("%d",&n);
for(i = 0; i < n; i++)
scanf("%d",&m[i]);Maksimum elementi tapırıq.
mx = -100;
for(i = 0; i < n; i++)
if (m[i] > mx) mx = m[i];Maksimuma bərabər olmayan bütün massiv elementlərinin cəmi tapırıq.
s = 0;
for(i = 0; i < n; i++)Əgər cari element maksimum -a bərabər deyilsə, onu cəm -ə əlavə edirik.
if (m[i] != mx) s += m[i];Axtarılan cəmi çıxışa yazırıq.
printf("%d\n",s);Alqoritmin icrası — STL
Giriş məlumatlarını oxuyuruq. Giriş ardıcıllığını vektorunda saxlayırıq.
scanf("%d", &n);
v.resize(n);
for (i = 0; i < n; i++)
scanf("%d", &v[i]);Maksimum elementi tapırıq.
mx = *max_element(v.begin(), v.end());Bütün elementlərini massivdə -la əvəz edirik.
replace(v.begin(), v.end(), mx, 0);Massivdəki bütün elementlərin cəmini tapırıq (maksimum elementlər -la əvəz olunub).
s = accumulate(v.begin(), v.end(), 0);Cəmi, yəni maksimum elementlərin olmadan əvvəlki bütün elementlərin cəmini, çıxışa yazırıq.
printf("%d\n", s);Java icrası
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
int m[] = new int[n];
for (int i = 0; i < n; i++)
m[i] = con.nextInt();
int max = -100;
for(int i = 0; i < n; i++)
if (m[i] > max) max = m[i];
int s = 0;
for(int i = 0; i < n; i++)
if (m[i] != max) s += m[i];
System.out.println(s);
con.close();
}
}Python icrası
Giriş məlumatlarını oxuyuruq.
n = int(input())
lst = list(map(int,input().split()))siyahısının maksimum elementini tapırıq.
mx = max(lst)dəyişənində siyahısının maksimum qiymət -a bərabər olmayan elementlərinin cəmini tapırıq.
sum = 0
for x in lst:
if x != mx: sum += xCavabı çıxışa yazırıq.
print(sum)Python icrası — cəmləmə
Giriş məlumatlarını oxuyuruq.
n = int(input())
lst = list(map(int,input().split()))Siyahının maksimum elementini tapırıq.
mx = max(lst)siyahısının maksimum qiymət -a bərabər olmayan təkliklərinin cəmini dəyişənində hesablayırıq.
res = sum(x for x in lst if x != mx)Cavabı çıxışa yazırıq.
print(res)