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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2017, 16:44   #1
zhenhya
Новичок
Джуниор
 
Регистрация: 09.12.2017
Сообщений: 1
По умолчанию Двумерные массивы С++

Помогите пожалуйста, в дввумерном массиве , состоящий из целых чисел вычислить наименьший элемент, сумму положительных элементов массива и количество и произведение простыъ чисел находящихся на диагоналаяъ матрицы ) буду весьма благодарен
zhenhya вне форума Ответить с цитированием
Старый 11.01.2018, 20:44   #2
savromat
Новичок
Джуниор
 
Регистрация: 11.01.2018
Сообщений: 2
По умолчанию

А какие сложности ?
Организуешь двумерный массив, затем цикл с двумя for и сравниваешь каждый элемент массива с константой, которую надо было до цикла приравнять к первому элементу массива
savromat вне форума Ответить с цитированием
Старый 12.01.2018, 11:59   #3
Hitoku
Пользователь
 
Аватар для Hitoku
 
Регистрация: 05.03.2017
Сообщений: 18
По умолчанию

Код:
#include "stdafx.h"
#include <iostream>
#include <random>
using namespace std;

bool IsSimple(int n) {
	for (int i = 2; i <= sqrt(abs(n)); i++)
		if (n%i == 0)
			return false;
	return true;
}

int Min(int a, int b) {
	return a <= b ? a : b;
}

int main(void)
{
	setlocale(LC_ALL, "rus");
	random_device r;
	mt19937 gen(r());
	uniform_int_distribution<> dist(-20, 20);

	int n, simplecount = 0, simplemul = 1, sumpoz = 0, min;
	cout << 5 / 2 << endl;
	cout << "n = ";
	cin >> n;
	int** a = new int*[n];
	for (int i = 0; i < n; i++)
		a[i] = new int[n];

	cout << "Матрица:\n";
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++)	{
			a[i][j] = dist(gen);
			if (i == j && IsSimple(a[i][j])) {
				simplemul *= a[i][j];
				simplecount++;
			}
			if (j == n - i - 1 && IsSimple(a[i][j]) && i != j) {
				simplemul *= a[i][j];
				simplecount++;
			}
			if (a[i][j] > 0) sumpoz += a[i][j];
			min = (i == 0 && j == 0) ? a[i][j] : Min(min, a[i][j]);
			cout << a[i][j] << "\t";
		}
		cout << endl;
	}
	cout << "Минимальный элемент: " << min << "\nСумма положительных элементов: " << sumpoz
		<< "\nКоличество простых чисел: " << simplecount << endl;
	if (simplecount > 0) cout << "Произведение простых чисел на диагоналях: " << simplemul << endl;

	for (int i = 0; i < n; i++)
		delete[] a[i];
	system("pause");
	return 0;
}
Здесь должна быть подпись... Но чего-то лень придумывать(

Последний раз редактировалось Hitoku; 12.01.2018 в 12:11.
Hitoku вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерные массивы, двумерные массивы, строки Sand093 C++ Builder 11 20.05.2012 21:48
Двумерные массивы(матрица) 2)Строковые массивы(строки): 3)Структуры nuriyat Помощь студентам 1 21.01.2012 16:16
Двумерные массивы(массивы указателей на массивы) krytishka99 Помощь студентам 1 29.12.2011 19:51
Двумерные массивы St1mkA Помощь студентам 7 17.03.2010 20:30
двумерные массивы JOHN1992 Помощь студентам 2 06.11.2009 22:49