Другие языки программирования и технологии

С++ столкнулся с проблемой .

Вот код моей программы со всеми комментариями . Если
где-то есть ошибки в коде или в трактовке каких либо команд пожалуйста
сообщайте . Т. к. я еще начинающий.


#include <iostream> //Подключение библиотеки ввода\вывода.

//#include <conio.h>

//#include <stdarg.h>

//#include <stdio.h>

#include <time.h> //ЗАголовочный файл для работы с датой и временим.




using namespace std; //Использование имен стандартного пространства.

int main (void)

{ //Тело программы

setlocale (0,""); //Считывание любого языка.

int i,j,n=0;

float mass[4][5]; // Целочисленные переменные, массив состоящие из целых чисел размерностью 3x5

srand (time(NULL)); //Генерация случайных величин с параметром НУЛ ( возвращает текущее времени )

for ( i=0; i<4; i++) // Задаем начальное значение 0 конечное 4 с щагом -1. ( строчки)

{ //Начало цикла.

for ( j=0; j<5; j++) // Задаем начальное значение 0 конечное 5 с щагом -1. ( столбцы)

{ // Начало второго цикла . Т. к. массив двумерный циклов 2 .

mass[i][j]= 0+rand()%5; // Заполнения массива случайнми величинами в диапазоне от 0 до 5.

cout<<"\t"<<mass[i][j]; // Вывод всех значение массива

} // Конец первого цикла

cout<<"\n";

} //Конец второго цикла.

for (j=0;j<5;j++) // цикл для нахождения столбца.

{

for (i=0;i<4;i++)

if(mass[i][j]==0)

{ n++;break;

}

}

cout<<"Количество столбцов где содержится хотябы один нуль - "<<n<<endl; // Вывод на экран результата

system("pause"); //Остановка после всех вычисления

return 0; //Возвращение 0

}// Конец тела программы.

НА выходе я получаю
вот что . По моему всю красиво .


Но теперь мне нужно перейти ближе к истине. Сделать так, чтобы ниже под
массивом выводило Задание 2.
т. к первое я уже реализовал
#include <iostream>
#include <ctime>
#include <algorithm>
using namespace std;
int main() {
const size_t rows = 4, cols = 12, limiter = 6;
unsigned short matrix[rows][cols];
srand(static_cast<unsigned int>(time(NULL)));
for (size_t row = 0; row < rows; ++row) for (size_t col = 0; col < cols; ++col) matrix[row][col] = rand() % limiter;
locale::global(locale(""));
cout << " Исходная матрица: \n\n";
for (size_t row = 0; row < rows; ++row, cout << '\n') for (size_t col = 0; col < cols; ++col) cout << ' ' << matrix[row][col];
cout << '\n';
unsigned short cnt = 0;
for (size_t col = 0; col < cols; ++col) for (size_t row = 0; row < rows; ++row) if (!matrix[row][col]) { ++cnt; break; }
cout << " Количество столбцов, где встречаются нули: " << cnt << endl;
cnt = 0;
unsigned short max = 0, tmp, number;
size_t index;
// Так как во втором задании отсутствует слово "ПОДРЯД", то будем подсчитывать все одинаковые элементы
for (size_t row = 0; row < rows; ++row) {
for (size_t col = 0; col < cols; ++col) {
tmp = count(matrix[row], matrix[row] + cols, matrix[row][col]);
if (max < tmp) {
max = tmp;
index = row;
number = matrix[row][col];
}
}
}
cout << "\n Номер первой строки, где самая длинная серия часто встречющихся элементов: " << index + 1
<< "\n Значение часто встречающего элемента: " << number
<< "\n Их колчиство: " << max << endl;
cin.sync();
cin.get();
return 0;
}
Станислав Урих
Станислав Урих
85 733
Лучший ответ
Как я считаю, незачем комментировать очевидные вещи.