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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2009, 04:46   #1
DeFace
Пользователь
 
Аватар для DeFace
 
Регистрация: 27.09.2008
Сообщений: 60
По умолчанию min элемент в массиве

всем привет. помогите пожалуйста.
Задание такое:
Дан массив nxn, элементы которого целые числа. Найти минимальный элемент в каждом столбце и записать его в новый массив.

Я написал вродебы но почемуть не работает . подскажите почему

Код:
#include<iostream>
using namespace std;

int ** creat(int &n, int &m)
{
	cout << "n="; cin >> n;
	cout << "m="; cin >> m;
	int **mas=new int *[n];
	for(int i=0; i<n; ++i) mas[i]=new int [m];
	for(i=0; i<n; ++i)
		for(int j=0; j<m; ++j)
		{
			cout << "mas[" << i << "][" << j << "]=";
			cin >> mas[i][j];
		}
		return mas;
}

int main()
{
	int n, m;
	int **a=creat(n, m);
	int min=a[0][0];
	float *b=new float[m];        // Создаю массив результатов
	for(int j=0; j<n; ++j)        
	{	                         
		for(int i=0; i<n; i++)    // перебираем все элементы j-того столбца и нахожу
			if(a[i][j]<min)       // минимальный элемент
			{                     
				b[j]=a[i][j];     // записываю его в новый массив
			}                     

	}
	for(int i=0; i<m; i++)        // вывожу массив результатов
		cout <<b[i] << "\t";

	for(i=0; i<n; i++)            // удаление массивов
		delete[] a[i];
	delete[]a;
	delete[]b;

return 0;
}
DeFace вне форума Ответить с цитированием
Старый 06.01.2009, 11:20   #2
como
Форумчанин
 
Регистрация: 26.07.2008
Сообщений: 116
По умолчанию

Нахождение минимального элемента не правильно. Нужно так:
Код:
                int min = a[0][j];
		for(int i=1; i<n; i++)    // перебираем все элементы j-того столбца
                {
			if(a[i][j]<min)       // новый минимальный элемент?
			{                     
				min=a[i][j];     // запомнить
			}
                }
como вне форума Ответить с цитированием
Старый 06.01.2009, 21:36   #3
DeFace
Пользователь
 
Аватар для DeFace
 
Регистрация: 27.09.2008
Сообщений: 60
По умолчанию

спасибо большое. я конечно ещё помучился с этим кодом, но всё получилось)))
DeFace вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
m=min(max{aij}) Массивы на C++ Wia Помощь студентам 2 22.12.2008 19:23
задачи на массив среднеарифметическое и min,max Stinging Паскаль, Turbo Pascal, PascalABC.NET 4 17.12.2008 17:14
нахождение min в массиве jenja Общие вопросы C/C++ 2 04.10.2008 19:32
Как найти max и min элементы матрицы????? ЕвгениуS Помощь студентам 19 02.03.2008 19:47
Функция которая в массиве ищет максимальный по модулю элемент Absent Помощь студентам 5 19.11.2007 21:23