Alqoritm Analizi
Giriş rəqəmlərini oxuyun və onların cəmini tapın.
Alqoritm Tətbiqi
İşlək massivi elan edin.
double m[100];
Giriş massivini oxuyun.
scanf("%d",&n); for(i = 0; i < n; i++) scanf("%lf",&m[i]);
Massivdəki bütün rəqəmlərin cəmini tapın.
s = 0; for(i = 0; i < n; i++) s = s + m[i];
İstənilən cəmi çıxış edin.
printf("%.1lf\n",s);
Alqoritm Tətbiqi – Dövr
#include <stdio.h> int i, n; double s, val; int main(void) { scanf("%d",&n); s = 0; for(i = 0; i < n; i++) { scanf("%lf",&val); s = s + val; } printf("%.1lf\n",s); return 0; }
Alqoritm Tətbiqi – Vektor
#include <cstdio> #include <vector> using namespace std; int i, n; double s; vector<double> m; int main(void) { scanf("%d", &n); // vektor üçün yaddaş ayırın, ölçüsünü dəyişin m.resize(n); // massivi oxuyun for (i = 0; i < n; i++) scanf("%lf", &m[i]); // massiv elementlərinin cəmini tapın s = 0; for (i = 0; i < n; i++) s = s + m[i]; // cavabı çap edin printf("%.1lf\n", s); return 0; }
Alqoritm Tətbiqi – Dinamik Yaddaş Ayırma, malloc
#include <stdio.h> #include <malloc.h> int i, n; double s, *m; int main(void) { scanf("%d", &n); m = (double *)malloc(n * sizeof(double)); for (i = 0; i < n; i++) // massivi oxuyun scanf("%lf", &m[i]); s = 0; // massiv elementlərinin cəmini tapın for (i = 0; i < n; i++) s = s + m[i]; free(m); printf("%.1lf\n", s); // cavabı çap edin return 0; }
Alqoritm Tətbiqi – Dinamik Yaddaş Ayırma, calloc
#include <stdio.h> #include <malloc.h> int i, n; double s, *m; int main(void) { scanf("%d", &n); m = (double *)calloc(n, sizeof(double)); for (i = 0; i < n; i++) // massivi oxuyun scanf("%lf", &m[i]); s = 0; // massiv elementlərinin cəmini tapın for (i = 0; i < n; i++) s = s + m[i]; free(m); printf("%.1lf\n", s); // cavabı çap edin return 0; }
Alqoritm Tətbiqi – Dinamik Yaddaş Ayırma, new
#include <stdio.h> int i, n; double s; double *m; int main(void) { scanf("%d",&n); // massiv üçün yaddaş ayırın m = new double[n]; // massivi oxuyun for(i = 0; i < n; i++) scanf("%lf",m+i); // m + i = &m[i] // massiv elementlərinin cəmini tapın s = 0; for(i = 0; i < n; i++) s = s + m[i]; // cavabı çap edin printf("%.1lf\n",s); // massiv yaddaşını azad edin delete[] m; return 0; }
Alqoritm Tətbiqi – Fayllarla İşləmək
e-olymp sistemində fayllarla işləyərkən aşağıdakılar istifadə olunur:
input.txt
– giriş faylı;output.txt
– çıxış faylı;
Fayllarla oxumaq və yazmaq üçün həllər təqdim edərkən "Həll fayllardan oxumaq və yazmaq üçün istifadə edir" seçimini seçin.
#include <stdio.h> int i, n; double s, m[100]; int main(void) { freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); scanf("%d",&n); // massivi oxuyun for(i = 0; i < n; i++) scanf("%lf",&m[i]); // massiv elementlərinin cəmini tapın s = 0; for(i = 0; i < n; i++) s = s + m[i]; // cavabı çap edin printf("%.1lf\n",s); return 0; }
Alqoritm Tətbiqi - STL
accumulate
funksiyasından istifadə edəcəyik.
#include <cstdio> #include <numeric> using namespace std; int i, n; double s, *m; int main(void) { scanf("%d",&n); m = new double[n]; for(i = 0; i < n; i++) scanf("%lf",&m[i]); s = accumulate(m,m+n,0.0); printf("%.1lf\n",s); return 0; }
Java Tətbiqi
public class Main { public static void main(String[] args) { Scanner con = new Scanner(System.in); con.useLocale(Locale.US); int n = con.nextInt(); double sum = 0; for (int i = 0; i < n; i++) { double val = con.nextDouble(); sum += val; } System.out.printf("%.1f",sum); con.close(); } }
Java Tətbiqi – Xüsusi Sinif
import java.util.*; class Array { private double[] m; private int size; public Array(int n) { size = n; m = new double[n]; } public void set(int i, double value) { m[i] = value; } public double getSum() { double s = 0; for(int i = 0; i < size; i++) s = s + m[i]; return s; } } public class Main { public static void main(String[] args) { Scanner con = new Scanner(System.in); con.useLocale(Locale.US); int n = con.nextInt(); Array a = new Array(n); for (int i = 0; i < n; i++) a.set(i,con.nextDouble()); System.out.printf("%.1f",a.getSum()); con.close(); } }
Python Tətbiqi
n = int(input()) m = list(map(float,input().split())) print(sum(m))