Выделить нужные ячейки.
Сделать форматирование (по ширине, высоте, межстрочному интервалу и т.п.).
Using System;
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();
}
}
}
}
Ответ:
когда на ШАГ придешь я помогу
Объяснение:
# # Код на ruby 2.2.3p173
def zadanie(str)
p str
str = str.downcase
a = str.split(" ")
return [str, a.last.count("а")]
end
# Примеры применения
p zadanie("Шла Саша по шоссе и сосала сушку")
p zadanie("А роза упала на лапу азора")
p zadanie("Чему быть - тому не миновать")
#define N 7
#define M 3
#include <iostream>
using namespace std;
int main() {
float Y[N][M];
// Ввод данных
for (int i = 0; i < N; i++)
for (int j = 0; j < M; j++)
cin >> Y[i][j];
float sum = 0, prod = 0;
for (int i = 0; i < N; i++) {
prod = 1;
for (int j = 0; j < M; j++) {
prod *= Y[i][j];
}
sum += prod;
}
cout << "Sum: " << sum << ".\n";
return 0;
}