Все выпуски  

RFpro.ru: Программирование на C / C++


РАССЫЛКИ ПОРТАЛА RFPRO.RU

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

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 704
∙ повысить рейтинг »
mklokov
Статус: 5-й класс
Рейтинг: 99
∙ повысить рейтинг »
CradleA
Статус: Профессионал
Рейтинг: 39
∙ повысить рейтинг »

∙ С / С++

Номер выпуска:1908
Дата выхода:27.05.2017, 14:45
Администратор рассылки:Андрей Кузнецов aka Dr_Andrew (Старший модератор)
Подписчиков / экспертов:25 / 20
Вопросов / ответов:1 / 1

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

Консультация # 191056:

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

Дата отправки: 22.05.2017, 14:39
Вопрос задал: Iv (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует mklokov (5-й класс):

Здравствуйте, 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 (5-й класс)
Дата отправки: 26.05.2017, 23:58
Прикреплённый файл: посмотреть » [25.3 кб]
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное