1)Графический редактор–это программа, предназначенная специально для рисования и редактирования изображений. Точнее, программа позволяющая вам создавать настоящие шедевры живописи прямо на вашем компьютере, или редактировать уже за ранее готовые фотографии и изображения (простой пример возможностей редактора — убрать распространенный «эффект красных глаз»). 2)Растр — изображение, построенное из отдельных элементов (точек), как правило, расположенных регулярно. В большинстве приложений компьютерной графики, растровое изображение представляется двумерным массивом точек, цвет и яркость каждой из которых задаются независимо. Пиксел — это наименьшая единица растрового изображения, получаемого с графических систем вывода информации (компьютерные мониторы, принтеры и т. д.) 4)Графический примитив - простейший геометрический объект, отображаемый на экране дисплея или на рабочем поле графопостроителя: точка, отрезок прямой, дуга окружности или эллипса, прямоугольник и т.п. 5)Векторная графика состоит из точек линий квадратов. Качество не ухудшается при увеличении. Используется в больших плакатах, гербах... 6)Качество растрового изображения зависит от размера изображения (количества пикселей по горизонтали и вертикали) и количества цветов, которые можно задать для каждого пикселя. 7)Растровая графика позволяет создать практически любой рисунок, вне зависимости от сложности, в отличие, например, от векторной, где невозможно точно передать эффект перехода от одного цвета к другому без потерь в размере файла. Распространённость — растровая графика используется сейчас практически везде: от маленьких значков до плакатов. Высокая скорость обработки сложных изображений, если не нужно масштабирование. Растровое представление изображения естественно для большинства устройств ввода-вывода графической информации, таких как мониторы (за исключением векторных устройств вывода), матричные и струйные принтеры, цифровые фотоаппараты, сканеры, а также сотовые телефоны.
#include <iostream> #include <string> #include <cstdlib> #include <algorithm> using namespace std; typedef unsigned short int USI;
int* fillArray(string name, int s); int maxArray(int[], int s); bool isPrime(int); void deleteAllEqualTo(int[], int s, int value); float averageOfPositive(int[], int s); void printArray(int[], int s);
bool sortByDescAbs(int i, int j) { return abs(i) > abs(j); }
int main() { setlocale(LC_ALL, "Russian"); USI n; cout << "n = "; cin >> n; int* z = fillArray("z", n); int max = maxArray(z, n); if ( isPrime(max) ) { deleteAllEqualTo(z, n, max); } float avg = averageOfPositive(z, n); cout << "среднее: " << avg << '\n'; sort(z, z + n, sortByDescAbs); cout << "z[" << n << "]: "; printArray(z, n); return 0; }
int* fillArray(string name, int s) { int array[s]; for (int i = 0; i < s; i++) { cout << name << "[" << i << "] = "; cin >> array[i]; } return array; }
int maxArray(int a[], int s) { int max = a[0]; for (int i = 1; i < s; i++) { if (a[i] > max) max = a[i]; } return max; }
bool isPrime(int n) { if (n < 2) return false; if (n == 2) return true; if (n % 2 == 0) return false; for (int i = 3; (i*i) <= n; i += 2) { if (n % i == 0 ) return false; } return true; }
void deleteAllEqualTo(int a[], int s, int value) { for (int i = 0; i < s; i++) { if (a[i] == value) a[i] = 0; } }
float averageOfPositive(int a[], int s) { unsigned int sum = 0, count = 0; for (int i = 0; i < s; i++) { if (a[i] > 0) { sum += a[i]; count++; } } return (sum / count); }
void printArray(int a[], int s) { for (int i = 0; i < s; i++) { cout << a[i] << ' '; } }