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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2011, 17:07   #1
GLAM1
 
Регистрация: 24.10.2010
Сообщений: 5
По умолчанию C++ Перегрузка

Добрый вечер,очень прошу мне помочь,уже 2 часа читаю методичку и всё без результатов,нужно перегрузить функцию min_el поиска минимального элемента в массивах и матрицах

Очень прошу помочь,а то что-то эта тема не как не даётся мне.
GLAM1 вне форума Ответить с цитированием
Старый 31.03.2011, 19:33   #2
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

пожалуйста выложите то что получилось у вас? и где вы остановились.
помогать людям которые что-то делают как-то охотнее.

напишите хотя-бы как именно вы хотите перегрузить функцию? чтобы искать среди массивов разного типа?
onewho вне форума Ответить с цитированием
Старый 31.03.2011, 20:43   #3
vasilisk-green
Пользователь
 
Аватар для vasilisk-green
 
Регистрация: 14.11.2009
Сообщений: 21
По умолчанию Простейший пример

Не знаю, в чем вы пишите. Я - на BCB, в самом простом случае сделал бы вот так.
Код:
#pragma hdrstop
#include <conio.h>
#include <iostream.h>

#define ME_SIZE 16

typedef float vector_t[ME_SIZE];
typedef float matrice_t[ME_SIZE][ME_SIZE];

// Function to find minimal element in one-dimensional array.
float minel(vector_t v, short length)
{
	float r = v[0];
	for (short i = 1; i < length; ++i)
    {
    	if (v[i] < r)
        {
        	r = v[i];
        }
    }
    return r;
}

// Function to find minimal element in two-dimensional array.
float minel(matrice_t m, short w, short h)
{
	float r = m[0][0];
	for (short i = 0; i < h; ++i)
    {
    	for (short j = ((i == 0) ? 1 : 0); j < w; ++j)
        {
	    	if (m[i][j] < r)
    	    {
        		r = m[i][j];
	        }
        }
    }
    return r;
}

#pragma argsused
int main(int argc, char* argv[])
{
	short length, i, j;
    vector_t v;
    matrice_t m;

    // First.
	cout << "\t\t1. Vector\n\nLength ?= ";
	cin >> length;
    for (i = 0; i < length; ++i)
    {
    	cout << "Element at " << i << " positiion ?= ";
        cin >> v[i];
    }
    cout << "\tMinimal is " << minel(v, length) << endl << endl;

    // Second
    	cout << "\t\t1. Square matrix\n\nSize ?= ";
	cin >> length;
    for (i = 0; i < length; ++i)
    {
    	cout << "Row # " << i << endl;
    	for (j = 0; j < length; ++j)
        {
	    	cout << "Element at " << j << " positiion ?= ";
	        cin >> m[i][j];
        }
    }
    cout << "\tMinimal is " << minel(m, length, length) << endl << endl;

    getch();
	return 0;
}
vasilisk-green вне форума Ответить с цитированием
Старый 31.03.2011, 21:09   #4
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

я бы вам посоветовал не методичку читать, а учебник по С++, потом расписать задание на листе бумаги, понять, что массив - это указатель, а матрица - указатель на указатель, в этом и есть различие, в функцию для массива передается указатель и количество элементов, а в функцию для матрицы - указатель на указатель, количество элементов сверху вниз и количество элементов слева направо
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрузка + Blad47 Помощь студентам 4 21.03.2011 01:49
Перегрузка в С++ anna01 Помощь студентам 1 24.11.2010 12:52
перегрузка DRELORD Помощь студентам 1 22.04.2010 09:54
перегрузка alema Общие вопросы C/C++ 2 28.10.2009 21:20
Перегрузка ++ counter Общие вопросы C/C++ 3 20.12.2008 13:30