Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2016, 23:01   #1
mary555
Новичок
Джуниор
 
Регистрация: 27.01.2016
Сообщений: 1
По умолчанию Объясните пожалуйста код,построчно если можно.С++

Код:
#include <time.h>
#include <stdlib.h>
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

const int n = 10;

int main()
{
	setlocale(LC_ALL, "rus");
	int i, j, kol;
	int a[n][n];

	srand((unsigned)time(NULL));

	for (i = 0; i < n; i++) {
		for (j = 0; j < n; j++) {
			a[i][j] = rand() % 10;
			cout << a[i][j] << " ";
		}
		cout << endl;
	}

	// Поиск локальных минимумов
	kol = 0;

	for (i = 0; i < n; i++) {
		for (j = 0; j < n; j++) {
			bool loc_min = 1;
			for (int k = i - 1; k <= i + 1; k++) {
				for (int l = j - 1; l <= j + 1; l++) {
					if (k >= 0 && k < 10 && l >= 0 && l < 10 && ((k != i) || l != j)) {
						loc_min = loc_min && (a[i][j] < a[k][l]);
					}
				}
			}
			if (loc_min)
			{
				kol++;
				cout << "a[" << i << "][" << j << "] = " << a[i][j] << endl;
			}
		}
	}
	cout << "Количество локальных минимумов: " << kol << endl;

	int sum_abs = 0;
	for (i = 0; i < n - 1; i++) {
		for (j = i+1; j < n - 1; j++) {
			sum_abs += abs(a[i][j]);
			//cout << a[i][j] << " ";
		}
		//cout << endl;
	}

	cout << "sum_abs = " << sum_abs << endl;

	system("pause");
	return 0;
}
код писался к следующему заданию:
Изображения
Тип файла: png 2016-01-27 20-48-50 Скриншот экрана.png (36.2 Кб, 57 просмотров)
mary555 вне форума Ответить с цитированием
Старый 29.01.2016, 17:29   #2
dimon_snake
Форумчанин
 
Регистрация: 05.11.2015
Сообщений: 167
По умолчанию

Код:
#include <time.h>
#include <stdlib.h>
#include <iostream>
#include <cmath>
#include <iomanip> \\подключили библиотеки
using namespace std; 

const int n = 10; \\числовая константа н=10

int main() \\начало главной программы
{
	setlocale(LC_ALL, "rus"); \\подключаем русский язык
	int i, j, kol; \\оглашаем три числовые переменные
	int a[n][n]; \\оглашаем двумерный числовой массив

	srand((unsigned)time(NULL)); \\при запуске программы каждый раз будут новые числа

	for (i = 0; i < n; i++) { \\цикл от 0 до н, то есть до 10
		for (j = 0; j < n; j++) { \\цикл от 0 до н, то есть до 10
			a[i][j] = rand() % 10; \\заполняем массив числами
			cout << a[i][j] << " "; \\выводим числа массива
		}
		cout << endl;\\перенос строки
	}

	// Поиск локальных минимумов
	kol = 0; \\присваиваем переменной 0

	for (i = 0; i < n; i++) {  \\цикл от 0 до н, то есть до 10
		for (j = 0; j < n; j++) { \\цикл от 0 до н, то есть до 10
			bool loc_min = 1; \\создаем булеву loc_min со значением true
			for (int k = i - 1; k <= i + 1; k++) { \\  цикл от k до k меньше равна i+1
				for (int l = j - 1; l <= j + 1; l++) { \\цикл от l до  l меньше равно j-1 
					if (k >= 0 && k < 10 && l >= 0 && l < 10 && ((k != i) || l != j)) { \\если (k больше равна нулю) или (k меньше 10) или (l больше равна нулю) или (l меньше 10) или ((k неравно i) и ( l неравно j))
						loc_min = loc_min && (a[i][j] < a[k][l]); \\если элемент массива a[i][j] меньше a[k][j] то loc_min будет равна истине, иначе ложь
					}
				}
			}
			if (loc_min)\\если loc_min истинна 
			{
				kol++; \\инкремент kol
				cout << "a[" << i << "][" << j << "] = " << a[i][j] << endl; \\выводим индексы элементов
			}
		}
	}
	cout << "Количество локальных минимумов: " << kol << endl;

	int sum_abs = 0; \\создаем числовую переменную sum_abs и присваиваем ей 0 
	for (i = 0; i < n - 1; i++) { \\от - до i меньше 9 
		for (j = i+1; j < n - 1; j++) { == от i+1 до j меньше 9
			sum_abs += abs(a[i][j]); \\к sum_abs  прибавляем элемент массива по модулю
			//cout << a[i][j] << " "; \\выводим элемент
		}
		//cout << endl; \\перенос строки
	}

	cout << "sum_abs = " << sum_abs << endl; \\выводим sum_abs

	system("pause");
	return 0;
}
dimon_snake вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объясните пожалуйста как работает код Maja Помощь студентам 1 29.11.2015 13:50
Объясните пожалуйста код Dimka-novitsek Общие вопросы C/C++ 1 22.06.2015 17:38
можно ли писать php код внутри javascript инструкции if? если можно, то как это сделать? Ubihinon JavaScript, Ajax 2 20.02.2012 08:40
можно ли писать php код внутри javascript инструкции if? если можно, то как это сделать? Ubihinon PHP 2 18.02.2012 17:45
Объясните новичку, что такое массив, если можно своими словами. Maxximuss Помощь студентам 5 26.10.2008 09:26