fork download
  1. #include <iostream>
  2. using namespace std;
  3. int absFunc(int,int);
  4. int main()
  5. {
  6. int t; //liczba testów
  7. while(t--)
  8. {
  9. int m, n;
  10. //m - liczba, do której wartość najbliższa będzie szukana
  11. //n - ilość liczb
  12. cin >> m >> n;
  13. int *tab=new int[n];
  14. for(int i=0;i<n;i++)
  15. {
  16. cin >> tab[i];
  17. }
  18. int index, abs;
  19. //index - przechowuje indeks komórki o (aktualnie) najbliższej wartości do m
  20. //abs - przechowuje aktualnie najmniejszą wartość bezwzględną
  21. for(int i=0;i<n;i++)
  22. {
  23. if(i==0)
  24. {
  25. abs=absFunc(tab[0],m);
  26. index=0;
  27. }
  28. else
  29. {
  30. if(absFunc(tab[i],m)<abs)
  31. {
  32. abs=absFunc(tab[i],m);
  33. index=i;
  34. }
  35. else
  36. {
  37. continue;
  38. }
  39. }
  40. }
  41. cout << tab[index] << "\n";
  42. }
  43. return 0;
  44. }
  45. int absFunc(int tabVal, int mVal)
  46. {
  47. if(tabVal>mVal){return (tabVal-mVal);}
  48. else{return (mVal-tabVal);}
  49. }
Success #stdin #stdout 0.01s 2676KB
stdin
5
2 1
3
3 3
5 4 2
4 5
100 1 0 4 1
5 7
1 2 3 4 6 7 8
6 9
10 5 1 2 5 1 22 8 7
stdout
Standard output is empty