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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.12.2016, 15:22   #1
BTS
Пользователь
 
Регистрация: 13.12.2014
Сообщений: 11
По умолчанию обнулить минимальный элемент массива

Реализовать шаблон класса, данными которого являются массив данных числового типа и функцию поиска минимального элемента массива, найденный элемент обнулить. Содержимое объекта вывести на экран ( используя cout << объект; ).
Как обнулить минимальный элемент??
Код:

#pragma argsused
#include <iostream>
#include "stdio.h"
#include <conio.h>
#include <locale.h>

using namespace std;

template <class t>
int getLastEqual(t arr[], int size) //функция поиска i  последнего min элемента
{
	int min = 0; // пусть первый элемент минимальный
	for (int i = 1; i < size; i++)
	{
		if (arr[i] <= arr[min])
			min = i;
	}

	return min;
}

int main(int argc, char* argv[])
{
	setlocale(LC_ALL, "Russian");
	int sz;
	cout << "Введите размер массива:" << endl;
	cin >> sz; //ввод размерности массива
	int* mas1 = new int[sz]; //создание массива типа int

	cout << "Введите элементы: " << endl;  //ввод элементов mas1
	for (int i = 0; i < sz; ++i)  //цикл считывания элементов mas1
		cin >> mas1[i];

	cout << "Введено элементов: " << sz << "\nИндекс минимального элемента: "
		<< getLastEqual(mas1, sz) << endl; //вызов функции для mas1
	
	delete[] mas1;
	system("pause");
	return 0;
}
BTS вне форума Ответить с цитированием
Старый 31.12.2016, 16:17   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Под шаблоном класса скорее всего имелась в виду не просто шаблонная функция, а класс (template <class T> class MyClass).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 31.12.2016, 17:13   #3
BTS
Пользователь
 
Регистрация: 13.12.2014
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Под шаблоном класса скорее всего имелась в виду не просто шаблонная функция, а класс (template <class T> class MyClass).
Это должно примерно так выглядеть?
Код:
#pragma argsused
#include <iostream>
#include "stdio.h"
#include <conio.h>
#include <locale.h>

using namespace std;

template <class T>
class Massiv
{
public:
	int sz;
	int getLastEqual(T arr[], int size);

};

template <class T>
int getLastEqual(T arr[], int size) { //функция поиска i  последнего min элемента
	int min = 0; // пусть первый элемент минимальный
	for (int i = 1; i < size; i++) {
		if (arr[i] <= arr[min])
			min = i;
	}

	return min;
}

int main(int argc, char* argv[]) {
	setlocale(LC_ALL, "Russian");
	int sz;
	cout << "Введите размер массива:" << endl;
	cin >> sz; //ввод размерности массива
	int* mas1 = new int[sz]; //создание массива типа int

	cout << "Введите элементы: " << endl;  //ввод элементов mas1
	for (int i = 0; i < sz; ++i)  //цикл считывания элементов mas1
		cin >> mas1[i];
	int ind = getLastEqual(mas1, sz);
	cout << "Введено элементов: " << sz << "\nИндекс минимального элемента: "
		<< ind << endl; //вызов функции для mas1
	mas1[ind] = 0;   // заменяем на 0
	cout << "Полученный массив: " << mas1[ind];
	delete[] mas1;
	system("pause");
	return 0;
}

Последний раз редактировалось BTS; 31.12.2016 в 17:17.
BTS вне форума Ответить с цитированием
Старый 31.12.2016, 17:19   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Массив не надо самому создавать снаружи, скорее всего нужен упрощенный вариант std::vector и т.п.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
1. Задан двумерный целочисленный массив Х(6,6). Найти минимальный элемент каждой строки и максимальный элемент каждого столбца массива и записать их в одномерный массив А. Greeb S Фриланс 5 15.12.2016 10:48
Записать элементы массива X, удовлетворяющие условию Х[12], подряд в массив Y =. Определить минимальный элемент массива X. полин@ Общие вопросы C/C++ 0 03.10.2016 14:37
Вычислить минимальный элемент массива(вернусь ссылку на него ), заменить этой суммой минимальный элемент mari_ly Общие вопросы C/C++ 1 30.03.2016 16:31
Минимальный элемент массива Артемкка Помощь студентам 3 19.12.2011 01:18
Минимальный элемент массива hoolywood Паскаль, Turbo Pascal, PascalABC.NET 3 30.05.2011 12:21