using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int matrixSize = 5;
int sum=0;
int[,] matrix = new int[matrixSize, matrixSize];
Random r = new Random();
for (int i = 0; i < matrixSize; i++)
for (int j = 0; j < matrixSize; j++)
{
matrix[i, j] = r.Next(5) - 2;
if (matrix[i, j] % 2 != 0) sum += matrix[i, j];
}
for (int i = 0; i < matrixSize; i++)
{
for (int j = 0; j < matrixSize; j++)
Console.Write(matrix[i,j]+" ");
Console.WriteLine();
}
Console.WriteLine("Сумма нечетных элементов матрицы равна " + sum);
}
}
}
1)
Дано:
I = 8 бит
Найти:
N - ?
ответ: 256 чисел
2)
Дано:
I = 8 бит
Найти:
N - ?
ответ: 6 561 чисел
3)
Здесь пригодится комбинаторика, а именно правило размещения с повторениями:
Также можно провести параллель с предыдущими заданиями:
ответ: 64 трехбуквенных слова
4)
ответ: мощность алфавита — 6 символов
5) Неразборчивое задание
6) Размер нового предложения стал на 16 байт меньше, следовательно, вычеркнутая строка "весит" 16 байт. Т.к. каждый символ кодируется 16 битами (16 / 8 = 2 байта) или 2 байтами, то было вычеркнуто 16 / 2 = 8 символов. Вычитаем из этого кол-ва символов один пробел и одну запятую, получается 8 - 2 = 6 символов — длина вычеркнутого слова. Название животного длиной 6 символов в тексте — тюлень.
ответ: тюлень
7) Размер нового предложения стал на 8 байтов меньше, следовательно, вычеркнутая строка "весит" 8 байтов. Т.к. каждый символ кодируется 8 битами (8 / 8 = 1 байт) или 1 байтом, то было вычеркнуто 8 / 1 = 8 символов. Вычитаем из этого кол-ва символов один пробел и одну запятую, получается 8 - 2 = 6 символов — длина вычеркнутого слова. Название реки длиной 6 символов в тексте — Москва.
ответ: Москва
8) Размер нового предложения стал на 28 байтов меньше, следовательно, вычеркнутая строка "весит" 28 байтов. Т.к. каждый символ кодируется 32 битами (32 / 8 = 4 байта) или 4 байтами, то было вычеркнуто 28 / 4 = 7 символов. Вычитаем из этого кол-ва символов один пробел и одну запятую, получается 7 - 2 = 5 символов — длина вычеркнутого слова. Название овоща длиной 5 символов в тексте — тыква.
ответ: тыква
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.IO;
using System.Windows.Forms;
namespace WindowsFormsApplication1 {
public partial class Form1 : Form {
private readonly Pen mainPen_ = new Pen(Color.Blue, 4);
private Bitmap bmp_;
private Point currentPoint_;
private Graphics g;
private Point previousPoint_;
public Form1() {
this.InitializeComponent();
}
private void bOpen_Click(object sender, EventArgs e) {
// Описываем объект класса OpenFileDialog
var dialog = new OpenFileDialog {
Filter = "Image files (*.BMP, *.JPG, *.GIF, *.PNG)|*.bmp;*.jpg;*.gif;*.png"
};
// Задаем расширения файлов
// Вызываем диалог и проверяем выбран ли файл
if (dialog.ShowDialog() != DialogResult.OK) {
return;
}
// Загружаем изображение из выбранного файла
var image = Image.FromFile(dialog.FileName);
this.pictureBox1.Width = image.Width;
this.pictureBox1.Height = image.Height;
// Создаем и загружаем изображение в формате bmp84
this.bmp_ = new Bitmap(image);
// Записываем изображение в pictureBox1
this.pictureBox1.Image = this.bmp_;
// Подготавливаем объект Graphics для рисования
this.g = Graphics.FromImage(this.pictureBox1.Image);
this.g.SmoothingMode = SmoothingMode.AntiAlias;
}
private void pictureBox1_MouseDown(object sender, MouseEventArgs e) {
// Записываем в предыдущую точку текущие координаты
this.previousPoint_ = new Point(e.X, e.Y);
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e) {
// Проверяем нажата ли левая кнопка мыши
if (e.Button != MouseButtons.Left) {
return;
}
// Запоминаем текущее положение курсора мыши
this.currentPoint_ = new Point(e.X, e.Y);
// Соеденяем линией предыдущую точку с текущей
this.g.DrawLine(this.mainPen_, this.previousPoint_, this.currentPoint_);
// Текущее положение курсора - в previousPoint_
this.previousPoint_ = this.currentPoint_;
// Принудительно вызываем перерисовку
this.pictureBox1.Invalidate();
}
private void bSave_Click(object sender, EventArgs e) {
// Описываем и порождаем объект savedialog
var savedialog = new SaveFileDialog {
Title = "Сохранить картинку как...",
OverwritePrompt = true,
CheckPathExists = true,
Filter =
"Bitmap File(*.bmp)|*.bmp|" +
"GIF File(*.gif)|*.gif|" +
"JPEG File(*.jpg)|*.jpg|" +
"PNG File(*.png)|*.png"
};
// Показываем диалог и проверяем задано ли имя файла
if (savedialog.ShowDialog() != DialogResult.OK) {
return;
}
var format = ImageFormat.Jpeg;
switch (Path.GetExtension(savedialog.FileName)) {
case "bmp":
format = ImageFormat.Bmp;
break;
case "jpg":
format = ImageFormat.Jpeg;
break;
case "gif":
format = ImageFormat.Gif;
break;
case "tif":
format = ImageFormat.Tiff;
break;
case "png":
format = ImageFormat.Png;
break;
default:
break;
}
this.bmp_.Save(savedialog.FileName, format);
}
private void bChangePixels_Click(object sender, EventArgs e) {
// Циклы для перебора всех пикселей на изображении
for (var x = 1; x < this.bmp_.Width; x++) {
for (var y = 1; y < this.bmp_.Height; y++) {
var c = this.bmp_.GetPixel(x, y);
if (c.B >= 200 && (c.R + c.G) <= 200) {
this.bmp_.SetPixel(x, y, Color.Red);
}
}
this.Refresh();
}
}
}
}