Ну вот, пока без комментариев по 1му вопросу. балы можете не добавлять. Только тут ведется просмотр всего массива от B[1, 1] до B[n, m] чтобы начинать просмотр скажем с [10, 10] надо вначале i j присвоить 10, и при переходе к следующему столбцу после приращения j на 1,устанавливать i:=10 Далее что нужно, чтобы переделать его во 2е задание. Принцип пробега по массиву не меняется. Но теперь вместо min и max будем работать с рабочими переменными SUM и Pr. В SUM накапливаем сумму положительных. Начальное значение можно взять равное нулю. Затем пробегаем по циклу сравниваем текущий элемент B[i, j] c 0 если B[i, j]>0, то добавляем его в сумму SUM:=SUM+B[i, j] В противном случае переходим к следующему элементу. Сложнее будет с произведением. Механизм накопления можно реализовать аналогично а вот какое присвоить начальное значение. 0? ну тогда, что бы мы не нашли произведение с 0 будет 0. 1? а вдруг вообще нет отрицательных элементов, а у нас произведение получится равным 1. Мне кажется надо сначала присвоить ему значение 0. А затем при пробежке по массиву при нахождении отрицательного числа сравнить произведение Pr с нулем Pr=0? да тогда переопределяем его так: Pr:=B[i, j] (присваем ему значение найденного отрицательного элемента) . Pr≠0? тогда переопределяем его так: Pr:=Pr*B[i, j]
P.S. И все-таки лучше уточнить у преподавателя, к чему относится отрезок. Т.е. это диапазон индексов поиска i, j? Или все же диапазон возможных значений элементов массива B[i, j]. Хотя можно выбрать один из вариантов и самому и оговорить его по ходу решения.(По-моему проще принять это как диапазон возможных значений элементов массива.) На мой взгляд в условии следовало это оформить отдельным предложением. Например: Числовые значения элементов массива принадлежат отрезку [-100; 100].
Если было роздано 8100 МБайт, а скорость раздачи втрое меньше скорости скачивания (15/5=3), то скачано было 8100*3=24300 МБайт. Определим величину видеопотока данных. 1920*1080*2*18=74649600 (Байт/с) = 74649600/2^20=71.19 (МБайт/с) В этом выражении 2 Байта- это 16/8 бит глубины цвета. Определим величину аудиопотока данных. Для хранения отсчета при 4096 уровнях квантования требуется 12 бит (2^12=4096). Упаковки нет, поэтому будет использовано целое число байт - 2. Тогда аудиопоток составит 192000*2*48=18432000 (Байт/с)=18432000/2^20=17.58 (МБайт/с). Суммарный поток 71.19+17.58=88.77 (Мбайт/с) Тогда длительность видеоролика составит 24300/88.77 ≈ 273.7 (c)
Условие - Найти максимальный элемент матрицы. Строку, содержащую
максимальный элемент, поменять с последней строкой матрицы.
Нумерация в матрице начинается с 0.
С++ на Code Blocks 16
Объяснение:
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
int n = 8; // можно ввести любую размерность квадратной матрицы
int a[n][n];
int Nmax, Nind, i, j = 0 ;
int d;
// Заполним матрицу случайными числами в диапазоне [0 ,100)
// и сразу её выведем
cout << " ---- Array in start ---- " << endl;
srand(time(0));
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
a[i][j] = rand()%111;
cout <<a[i][j] ;
cout<< " ";
}
cout << " " << endl;
}
// Поиск максимального элемента матрицы. Для оптимизации, можно было это произвести на этапе заполнения матрицы
// но для наглядности, напишем отдельно
Nmax = 1;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++){
if (Nmax < a[i][j]) {
Nmax = a[i][j];
Nind = i;
}
}
}
cout<< "Max ["<< Nind<<"] = "<< Nmax << endl;
// Меняем строки местами
for (int j = 0; j < n; j++) {
d = a[n-1][j];
a[n-1][j]=a[Nind][j];
a[Nind][j] = d;
}
cout << " ---- Array after modify ---- " << endl;
// Выводим полученную матрицу
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++){
cout << a[i][j] ;
cout<< " ";
}
cout << " " << endl;
}
return 0;
}