24.09.2017, 18:46 [+3 UTC]
в нашей команде: 2 128 чел. | участники онлайн: 3 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: консультации

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.41 (25.02.2017)

Общие новости:
23.02.2017, 09:51

Форум:
24.09.2017, 16:39

Последний вопрос:
24.09.2017, 14:40

Последний ответ:
24.09.2017, 15:05

Последняя рассылка:
24.09.2017, 14:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
02.08.2012, 11:54 »
X-Driver
Спасибо, все получилось [вопрос № 186478, ответ № 271365]
20.03.2010, 19:58 »
Розанкова Наталья Юрьевна
Боже спасибо большое Shvetski!!!!!! Вы мне очень помогли, спасибо!!!!!!!!!! [вопрос № 177366, ответ № 260259]
06.04.2010, 20:15 »
Xrom1989
Verena, большое спасибо, особенно за вторую часть. Там все что мне надо для следующих задач=) [вопрос № 177620, ответ № 260643]

РАЗДЕЛ • С / С++

Создание программ на языках C и C++.

[администратор рассылки: Андрей Кузнецов aka Dr_Andrew (Старший модератор)]

Лучшие эксперты в этом разделе

Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 238
solowey
Статус: 6-й класс
Рейтинг: 81
Хватов Сергей
Статус: Академик
Рейтинг: 70

Перейти к консультации №:
 

Консультация онлайн # 191056
Раздел: • С / С++
Автор вопроса: Iv (Посетитель)
Отправлена: 22.05.2017, 14:39
Поступило ответов: 1

Уважаемые эксперты! Пожалуйста, помогите решить две задачи:
Дана прямоугольная матрица размером MхN.
Для каждой четной строки подсчитайте сумму ее элементов, а
для каждой нечетной строки – произведение ее элементов.
Результаты запишите в одномерный массив. Одномерный массив
отсортируйте по возрастанию методом пузырька (Bubble Sort).
Выведите на экран исходную матрицу и отсортированный
одномерный массив

Вопрос перенесен из раздела • Исследование операций
--------

• Отредактировал: Гордиенко Андрей Владимирович (Модератор)
• Дата редактирования: 22.05.2017, 18:25

-----
 Прикрепленный файл (кликните по картинке для увеличения):

Состояние: Консультация закрыта

Ответ # 275047 от mklokov (6-й класс)

Здравствуйте, Iv!
Задача № 1:

#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <time.h>

using namespace std;

int main()
{
	const int m = 5; const int n = 7;
	int a[m][n]; int s[m];
	int i, j, x, temp;
	
	srand(time(NULL)); //Инициализация генератора случайных чисел
	for(i=0;i<m;i++){
		for (j = 0;j < n;j++) {
			a[i][j] = rand() % 9 + 1; // Случайное целое число от 1 до 9
			cout << a[i][j]<<' ';
		}
		cout << endl;
	}

	for (i = 0;i < m;i++) { //Перебираем все строки
		if (i % 2 == 0) { // Если строка имеет чётный номер, то
			x = 0; //считаем сумму её элементов,
			for (j = 0;j < n;j++)
				x += a[i][j];
		}
		else { //иначе
			x = 1; //считаем произведение её элементов
			for (j = 0;j < n;j++)
				x *= a[i][j];
		}
		s[i] = x; //Результат записываем в массив
	}
// Вывод полученного одномерного массива до сортировки, если не надо, то удалите от сюда ...
	cout << endl;
	for (i = 0;i < m;i++)
		cout << s[i] << ' ';
	cout << endl;
// ... до сюда
	for (i = 0;i < m - 1;i++) // Сортировка "пузырьком"
		for (j = m - 1;j > i;j--)
			if (s[j] < s[j - 1]) {
				temp = s[j];
				s[j] = s[j - 1];
				s[j - 1] = temp;
			}

	cout << endl;
	for (i = 0;i < m;i++)
		cout << s[i] << ' ';
	cout << endl;

    return 0;
}

Результат работы программы в приложенном файле
Среда программирования: Microsoft Visual Studio C++ 2015


Консультировал: mklokov (6-й класс)
Дата отправки: 26.05.2017, 23:58

-----
 Прикрепленный файл (кликните по картинке для увеличения):

5
нет комментария
-----
Дата оценки: 27.05.2017, 16:52

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Мини-форум консультации № 191056

Гордиенко Андрей Владимирович
Модератор

ID: 17387

# 1

= общий = | 22.05.2017, 16:56 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Iv:

Я думаю, что сформулированная Вами задача никакого отношения к исследованию операций не имеет. На каком алгоритмическом языке должна быть написана программа?

=====
Facta loquuntur.

Iv
Посетитель

ID: 401155

# 2

 +1 
 
= общий = | 22.05.2017, 18:22 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Гордиенко Андрей Владимирович:

Здравствуйте. С++.

Гордиенко Андрей Владимирович
Модератор

ID: 17387

# 3

= общий = | 22.05.2017, 18:26 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер
Экспертам раздела:

Обратите, пожалуйста, внимание на данную консультацию, перенесённую из другого раздела.

=====
Facta loquuntur.

mklokov
6-й класс

ID: 400828

# 4

= общий = | 27.05.2017, 07:15 | цитировать цитировать  | профиль профиль  |  отправить письмо в личную почту пейджер

Задача № 2

#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <time.h>

using namespace std;

const int m = 5;

int * * matrix_sum(int * * a, int * * b) {
	int * * c = new int *[m];
	for (int i = 0; i < m; i++)
		c[i] = new int[m];

	for (int i = 0;i < m;i++)
		for (int j = 0;j < m;j++)
			c[i][j] = a[i][j] + b[i][j];
	return(c);
}

int matrix_norm(int * * a) {
	int sum = 0;
	for (int i = 0;i < m;i++)
		for (int j = 0;j < m;j++)
			sum += a[i][j];
	return(sum);
}

int main()
{
	int * * a = new int *[m], * * b = new int *[m], * * c = new int *[m], * s = new int [m], i, j, temp;
	for (int i = 0; i < m; i++){
		a[i] = new int[m];
		b[i] = new int[m];
		c[i] = new int[m];
	}
	srand(time(NULL));
	for (i = 0;i<m;i++) {
		for (j = 0;j < m;j++) {
			a[i][j] = rand() % 9 + 1;
			cout << a[i][j] << ' ';
		}
		cout << endl;
	}
	cout << endl;
	for (i = 0;i<m;i++) {
		for (j = 0;j < m;j++) {
			b[i][j] = rand() % 9 + 1;
			cout << b[i][j] << ' ';
		}
		cout << endl;
	}
	cout << endl;
	for (i = 0;i<m;i++) {
		for (j = 0;j < m;j++) {
			c[i][j] = rand() % 9 + 1;
			cout << c[i][j] << ' ';
		}
		cout << endl;
	}
	cout << endl;
	for (i = 0;i < m;i++)
		s[i] = a[i][i];
	// Вывод полученного одномерного массива до сортировки, если не надо, то удалите от сюда ...
	cout << endl;
	for (i = 0;i < m;i++)
		cout << s[i] << ' ';
	cout << endl;
	// ... до сюда
	for (i = 0;i < m - 1;i++)
		for (j = m - 1;j > i;j--)
			if (s[j] < s[j - 1]) {
				temp = s[j];
				s[j] = s[j - 1];
				s[j - 1] = temp;
			}

	cout << endl;
	for (i = 0;i < m;i++)
		cout << s[i] << ' ';
	cout << endl;
	cout << (matrix_norm(matrix_sum(a, c)) + matrix_norm(matrix_sum(a, b))) / matrix_norm(matrix_sum(b, c));
	for (int i = 0; i < m; i++){
		delete[] a[i];
		delete[] b[i];
		delete[] c[i];
	}
	delete[] a;
	delete[] b;
	delete[] c;
	delete[] s;

    return 0;
}

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.16189 сек.

© 2001-2017, Портал RFPRO.RU, Россия
Авторское право: ООО "Мастер-Эксперт Про"
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.41 от 25.02.2017
Бесплатные консультации онлайн