Kalkulyator#1427

Kalkulyator (Həll təhlili)

İlk həqiqi ədədi dəyişəninə oxuyuruq. Daha sonra qalan sətiri cütlərə bölürük: əməliyyat simvolu və həqiqi ədəd.

Cütləri (simvol, həqiqi ədəd) ardıcıl şəkildə oxuyuruq, müvafiq əməliyyatları yerinə yetiririk.

Alqoritmin icrası

İlk həqiqi ədədi dəyişəninə oxuyuruq.

scanf("%d",&res);

Əməliyyat işarəsini (toplama və ya çıxma) və onun ardınca gələn həqiqi ədədi oxuyuruq. -i -ə əlavə edirik və ya -dən -i çıxırıq.

while (scanf("%c%d", &ch, &x) == 2)
  if (ch == '+') res += x; else res -= x;

Hesablamanın nəticəsini çıxarırıq.

printf("%d\n",res);

Alqoritmin icrası — iostream

İlk həqiqi ədədi dəyişəninə oxuyuruq.

cin >> res;

Giriş məlumatlarını faylın sonuna qədər oxuyuruq. Əməliyyat işarəsini (toplama və ya çıxma) və onun ardınca gələn həqiqi ədədi oxuyuruq.

while (cin >> ch >> x)

-i -ə əlavə edirik və ya -dən -i çıxırıq.

  if (ch == '+') res += x; else res -= x;

Hesablamanın nəticəsini çıxarırıq.

cout << res << endl;

Java icrası

import java.util.*;

public class Main
{
  public static void main(String[] args)
  {
    Scanner con = new Scanner(System.in);
    String s = con.nextLine();
    StringTokenizer st1 = new StringTokenizer(s, "+-");
    StringTokenizer st2 = new StringTokenizer(s, "0123456789");
    int res = Integer.parseInt(st1.nextToken());
    while (st1.hasMoreTokens()) 
    {
      int x = Integer.parseInt(st1.nextToken());
      if (st2.nextToken().equals("+")) res += x;
      else res -= x;
    }
    System.out.println(res);
    con.close();
  }
}

Python icrası

Verilən ifadənin dəyərini hesablayırıq və nəticəni çıxarırıq.

print(eval(input()))