Дан файл с картинкой и текстом: картинка имеет размер 512 х 512 пикселя и окрашена в 32 цветную палитру, а текст состоит из 1024 символа, информационная ёмкость одной буквы 16 бит. Необходимо найти сколько кбайт памяти займет данных файл.
Собсна на c++ #include <iostream> #include <conio.h> using namespace std; int main() { setlocale(LC_ALL, "Russian"); const int N = 5, M = 5; int a[N][M]; int min; cout << "Zapolnite matricu 5 na 5: " << endl; for (int i(0); i < N; i++) { for (int j(0); j < M; j++) { cin >> a[i][j]; } } min = a[0][0]; for (int i(0); i < N; i++) { for (int j(0); j < M; j++) { if (min > a[i][j]) min = a[i][j]; } } cout <<"Minimal`nii element: "<< min << endl; _getch(); return 0;}
Ну вот, пока без комментариев по 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].
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{ setlocale(LC_ALL, "Russian");
const int N = 5, M = 5;
int a[N][M];
int min;
cout << "Zapolnite matricu 5 na 5: " << endl;
for (int i(0); i < N; i++)
{ for (int j(0); j < M; j++)
{ cin >> a[i][j]; } }
min = a[0][0];
for (int i(0); i < N; i++)
{ for (int j(0); j < M; j++)
{ if (min > a[i][j])
min = a[i][j]; } }
cout <<"Minimal`nii element: "<< min << endl;
_getch();
return 0;}
Только тут ведется просмотр всего массива от 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].