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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2020, 03:04   #1
sloNICK
Новичок
Джуниор
 
Регистрация: 25.01.2020
Сообщений: 2
По умолчанию Из двумерного массива[Bi,j]m,n построить массив С, выполняя деления каждого элемента массива В на min элемент в столбце.

Я написал программу, идея которой должна быть верна, но при компиляции возникает ошибка на 29-й строке якобы из-за деления на ноль (C[i][j] = B[i][j] / min).
Но вроде деления на ноль возникать не должно, а это я что-то нахимичил в коде, что миннимальный елемент становится нулем.

Полный текст ошибки: Необработанное исключение по адресу 0x001B2D2E в ConsoleApplication4.exe: 0xC0000094: Integer division by zero.

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

int main()
{
	const int n = 4;
	const int m = 4;
	int B[n][m], C[n][m];

// заполнение массива

	for (int i = 0; i < m; i++) {
		for (int j = 0; j < 4; j++)
			B[i][j] = rand() % 10;
	}
	for (int i = 0; i < m; i++) {
		for (int j = 0; j < m; j++)
			cout << " " << B[i][j];
		cout << endl;
	}
	
// основной алгоритм

	for (int j = 0; j < m; j++) {
		int min = B[0][j];
		for (int i = 1; i < m; i++) {
			for (int i = 1; i < n; i++)
				if (B[i][j] < min)
					min = B[i][j];
			for (int i = 0; i < n; i++)
				C[i][j] = B[i][j] / min;

		}
		
// вывод второго массива

		for (int i = 0; i < m; i++) {
			for (int j = 0; j < m; j++)
				cout << " " << C[i][j];
			cout << endl;
		}

	
	}
		return 0;
sloNICK вне форума Ответить с цитированием
Старый 25.01.2020, 09:02   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от sloNICK Посмотреть сообщение
rand() % 10
Что вернет это выражение?
waleri вне форума Ответить с цитированием
Старый 25.01.2020, 15:56   #3
sloNICK
Новичок
Джуниор
 
Регистрация: 25.01.2020
Сообщений: 2
По умолчанию

Это должно генерировать рандомное число от 0 до 10. Среди генерированых чисел нулей не было, так что мне до сих пор не ясно почему возникает ошибка.
sloNICK вне форума Ответить с цитированием
Старый 25.01.2020, 16:24   #4
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

sloNICK, >>зацените<< какой минимальный элемент генерит rand() % 10.
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 25.01.2020, 21:58   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от sloNICK Посмотреть сообщение
число от 0 до 10.
Ну вот вам и ответ...
waleri вне форума Ответить с цитированием
Старый 26.01.2020, 08:58   #6
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 947
По умолчанию

Цитата:
Сообщение от sloNICK Посмотреть сообщение
но при компиляции возникает ошибка на 29-й строке
не при компиляции, а во время выполнения
Алексей1153 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив m*n. Составить массив из наименьших элементов каждой строки данного массива. Найти сумму наибольшего и наименьшего элемента массива. Miriam_ Паскаль, Turbo Pascal, PascalABC.NET 2 23.04.2017 11:18
1. Задан двумерный целочисленный массив Х(6,6). Найти минимальный элемент каждой строки и максимальный элемент каждого столбца массива и записать их в одномерный массив А. Greeb S Фриланс 5 15.12.2016 10:48
[Си]: В каждом столбце двумерного массива поменять местами первый отрицательный элемент и последний нулевой. Помогите найти ошибку Yulia24* Помощь студентам 2 20.11.2016 01:21
Получить новый массив путем деления всех элементов данного массива на ее больший по модулю элемент Nirvanaaa Помощь студентам 4 22.06.2013 11:30
Одномерный массив (среднегеометрическая сумма каждого третьего элемента промежутка массива) Monry Паскаль, Turbo Pascal, PascalABC.NET 2 08.04.2012 19:57