kapustina198690
?>

Цвет пикселя, формируемого принтером, определяется тремя составляющими: зеленой, синей и красной. под красную и синюю составляющие одного пикселя отвели по 10 бит. сколько бит отвели под зеленую составляющего одного пикселя, если растровое изображение размером 16х8 пикселей занимает 512 байт памяти?

Информатика

Ответы

serg1976g
Задачка сложноватая, извиняюсь за штрих :)
Итак:
1) Мы находим объём зелёного цвета
2) Мы находим место среди 512 байт, отведённое на цвета
3) Из этого места находим зелёный цвет.
Внизу я написала тебе пометки к задаче, чтобы было понятней
Цвет пикселя, формируемого принтером, определяется тремя составляющими: зеленой, синей и красной. по
laleonaretouch

#include <iostream>

#include <string>

#include <conio.h>

#include <stdlib.h>

#include <sstream>

#include <fstream>

using namespace std;

int main()

{

int k; //Переменная выбора - шифрование/дешифрование

int shift; //Величина сдвига

string result = ""; //Строка - результат

cout<<"Enter 1 for encryption and decryption of 2\n";

cin>>k;

switch (k) //Если k

{

case 1: //Если выбрано шифрование

{

cout<<"Enter value shift for encryption\n";

cin>>shift;

if (shift > 26)

shift = shift % 26; //Вычисление сдвига

cout<<"Read of file...\n";

setlocale(LC_ALL,"Russian");//Чтение файла

string s; //Строка считанная из файла

ifstream in("Test.txt");

getline(in,s);

cout<<"Text of file: \n"<<s<<endl;

in.close();

cout<<"Reading complete!\n";

cout<<"Encryption...\n";

for (int i = 0; i < s.length(); i++)

{

//Если не латиница

if (((int)(s[i]) < 65)||((int)(s[i]) > 122))

result += s[i];

//Если буква является строчной

if (((int)(s[i]) >= 97) && ((int)(s[i]) <= 122))

{

//Если буква, после сдвига выходит за пределы алфавита

if ((int)(s[i]) + shift > 122)

//Добавление в строку результатов символ

result += (char)((int)(s[i]) + shift - 26);

//Если буква может быть сдвинута в пределах алфавита

else

//Добавление в строку результатов символ

result += (char)((int)(s[i]) + shift);

}

//Если буква является прописной

if (((int)(s[i]) >= 65) && ((int)(s[i]) <= 90))

{

//Если буква, после сдвига выходит за пределы алфавита

if ((int)(s[i]) + shift > 90)

//Добавление в строку результатов символ

result += (char)((int)(s[i]) + shift - 26);

//Если буква может быть сдвинута в пределах алфавита

else

//Добавление в строку результатов символ

result += (char)((int)(s[i]) + shift);

}

}

cout<<"Encryption complete!\n";

cout<<"Result:\n";

cout<<result; //Вывод результата

break;

}

case 2: //Если выбрано дешифрование

{

cout<<"Enter value shift for decryption\n";

cin>>shift;

if (shift > 26)

shift = shift % 26;

cout<<"Read of file...\n";

setlocale(LC_ALL,"Russian");

string s;

ifstream in("Test.txt");

getline(in,s);

cout<<"Text of file: \n"<<s<<endl;

in.close();

cout<<"Reading complete!\n";

cout<<"Decryption...\n";

for (int i = 0; i < s.length(); i++)

{

//Если не латиница

if (((int)(s[i]) < 65)||((int)(s[i]) > 122))

result += s[i];

//Если буква является строчной

if (((int)(s[i]) >= 97) && ((int)(s[i]) <= 122))

{

//Если буква, после сдвига выходит за пределы алфавита

if ((int)(s[i]) - shift < 97)

//Добавление в строку результатов символ

result += (char)((int)(s[i]) - shift + 26);

//Если буква может быть сдвинута в пределах алфавита

else

//Добавление в строку результатов символ

result += (char)((int)(s[i]) - shift);

}

//Если буква является прописной

if (((int)(s[i]) >= 65) && ((int)(s[i]) <= 90))

{

//Если буква, после сдвига выходит за пределы алфавита

if ((int)(s[i]) - shift < 65)

//Добавление в строку результатов символ

result += (char)((int)(s[i]) - shift + 26);

//Если буква может быть сдвинута в пределах алфавита

else

//Добавление в строку результатов символ

result += (char)((int)(s[i]) - shift);

}

}

cout<<"Decryption complete!\n";

cout<<"Result:\n";

cout<<result; //Вывод результата

break;

}

default: //Если ошибочное значение

{

cout<<"Error value\n";

break;

}

}

getch();

return 0;

}

0

xeniagolovitinskaya4546

числа в if берутся из кодов ASCII

Объяснение:

#include <stdio.h>

#include <string.h>

int

main ()

{

 char s[10001];

 int i = 0;

 for (int j = 0; j < 10001; j++) {

     scanf("%c", &s[j]);

     if (s[j] == '\n')

         break;

 }

 while (s[i] != '\n')

   {

   if (((int)s[i] > 64 && (int)s[i] < 91) || ((int)s[i] > 96 && (int)s[i] < 123))

     if ((int)s[i] > 124)

s[i] = (char)((int)s[i] - 92); //3-127+32=92

else

       s[i] = (char)((int)s[i] + 3);

   i++;

   }

 for (int j = 0; j < i; j++)

     printf("%c", s[j]);

 return 0;

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Цвет пикселя, формируемого принтером, определяется тремя составляющими: зеленой, синей и красной. под красную и синюю составляющие одного пикселя отвели по 10 бит. сколько бит отвели под зеленую составляющего одного пикселя, если растровое изображение размером 16х8 пикселей занимает 512 байт памяти?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Надья-Олеговна
НатальяРуктешель472
platonm777639
mlubov1
Гаврилаш
mzubenko6
Вайнер
Shumnova42
nst-33764
proporcia46
andy74rus36
lepekhov4011
Lapushkina
Olesyamilenina8
Египтян2004