Ввести с клавиатуры массив, выполнить преобразования данных, вывести на экран массив с помощью функции форматированного вывода printf(). Написать программу, которая выводит минимальный элемент введенного с клавиатуры массива целых чисел. Двумерный массив вещественных чисел.
Так вот теперь сам код программы, который у меня получается, но не происходит вывод массива на экран + ко всему цикл вроде как тоже не верен:
#include «stdafx.h» #include #include #include #include #include #include // Работа со строками #include // Библиотека следящая за выделением памяти #define _CRTDB_MAP_ALLOC #include int _tmain(int argo, _TCHAR * argv[]) < // Функция находящая все утечки памяти _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); // Функция отвечающая за русский язык setlocale(LC_ALL, «Russian»); setlocale(LC_ALL, «rus»); srand(time(NULL)); printf(«Программа для вычисления минимального элемента массива n»); printf(» введенного с клавиатурыn»); float a[3][3] = < 0 >; float b; for (int i = 0; i < 3; i = i + 1) < for (int j = 0; j < 3; j = j + 1) < printf(«Введите элемент массиваn»); scanf(«%f», a[i][j] = b; >printf(«%fn», a[i][j]); > return 0; >
Очень много лишнего. Не обращайте внимания: С++ начал изучать три дня назад.
Java Algorithms #1: поиск минимального, максимального и среднего значения
Источник: ru.stackoverflow.com
Написать программу которая выводит минимальный элемент введенного с клавиатуры массива целых чисел
вот есть задача.
Написать профамму, которая выводит минимальный элемент
введенного с клавиатуры массива целых чисел. Ниже приведен
рекомендуемый вид экрана во время работы профаммы (данные,
введенные пользователем, выделены полужирным шрифтом).
#include #include #define HB 5 void mainO < int a[HB]; int min; int i; printf(«ХпПоиск минимального элемента массиваХп»); printf(«Введите в одной строке элементы массиваЛп»); printf(«%i целых чисел, и нажмите n», НВ); printf(«-> » ); for (i = 0; i < HB; i4-+) scanf(«%i», min = 0 ; for (i = 1; i < HB; i++) if (a[i] < a[min]) min = i; printf(«Минимальный элемент массива: » ); printf(«a[%i]=%i «, min+1, a[min]); printf(«printf(«пДля завершения нажмите «); getch(); >
а вот вопросы.
как можно обойтись без #define HB 5, при этом все также обозначая размер массива любой переменной? типо такого
#include «stdafx.h» int n; int x[n], min, i; int main() < n=5; std::cout
но начинает выбивать ошибку
c:documents and settingsaмои документыvisual studio 2008projects333.cpp(3) : error C2057: требуется константное выражение
Видео уроки паскаль: поиск максимального и минимального значения
c:documents and settingsaмои документыvisual studio 2008projects333.cpp(3) : error C2466: невозможно выделить память для массива постоянного нулевого размера
обьясните смысл этой строчки на пальцах плз
printf(«a[%i]=%i «, min+1, a[min]);
заранее благодарен
Последний раз редактировалось Stilet; 17.02.2012 в 11:28 .
Пользователь
Регистрация: 03.10.2011
Сообщений: 11
самый простой способ это циклы.
я бы завёл переменную min и присвоил ей значение первого элемента матрицы, а затем if’ом в цикле сравнивал бы его с остальными элементами, и если нашел бы меньший элемент то присвоил бы переменной min найденное минимальное значение.
PS если не понятно то через часиков 5-6 закину код.
Глупый с мудрой книгой, в два раза глупее.
Пользователь
Регистрация: 28.12.2011
Сообщений: 27
как можно обойтись без #define HB 5, при этом все также обозначая размер массива любой переменной? типо такого |
int n = 0; // количество элементов массива int *massiv = NULL; // указатель на начало массив cout > n; if( n > 0) < massiv = new int [ n ]; // выделяем память для массива в куче >for( int i=0; i> massiv[i]; > /// тут поиск минимума // в конце освобождаем память if( massiv ) delete massiv;
Регистрация: 16.12.2011
Сообщений: 2,329
// в конце освобождаем память if( massiv ) delete massiv;
В чем заключается сакральный смысл проверки указателя на NULL перед удалением?
Пользователь
Регистрация: 27.11.2011
Сообщений: 28
помогите плиз построить так как подсказали, для примера неплохо былобы понять такой вариант решения
самый простой способ это циклы.
я бы завёл переменную min и присвоил ей значение первого элемента матрицы, а затем if’ом в цикле сравнивал бы его с остальными элементами, и если нашел бы меньший элемент то присвоил бы переменной min найденное минимальное значение.
Последний раз редактировалось noxior; 18.02.2012 в 02:37 .
Пользователь
Регистрация: 03.10.2011
Сообщений: 11
этот код написан на С, не С++ но работать должно ))
#include void main() < int a[5],min,i; for(i=0;i<5;i++) scanf(«%d», min=a[0]; for(i=1;i<5;i++) if(min>a[i]) min=a[i]; printf(«min=%d»,min); >
если в коде что-то непонятно то пишите в личку.
Глупый с мудрой книгой, в два раза глупее.
Пользователь
Регистрация: 27.11.2011
Сообщений: 28
а вот мне подсказали шо както так можно обьявлять массив
тут мы задали n-размер массива и a назвали его?
Регистрация: 16.12.2011
Сообщений: 2,329
а вот мне подсказали шо както так можно обьявлять массив
тут мы задали n-размер массива и a назвали его?
Нет. Тут объявлены две переменные, которые содержат мусор (или ноль)
Форумчанин
Регистрация: 18.02.2012
Сообщений: 155
Вот более менее простой способ
Вот простой способ: сначала вводишь размер массива, объявляешь переменную min, потом вводишь элементы, инициализируешь min значением 0го элемента, и сравниваешь.
Вот код:
#include using namespace std; void main() < setlocale(LC_ALL,»»); int n, *p, min; cout>n; p=new int[n]; for(int i=0;i>p[i]; > min=p[0]; for(int i=0;i cout
Пользователь
Регистрация: 03.10.2011
Сообщений: 11
а вот мне подсказали шо както так можно обьявлять массив
тут мы задали n-размер массива и a назвали его?
тут задано целое число и указатель, к примеру указатель на данное число, массив объявляется так int a[c];
где а- имя массива c- кол-во элементов массива, вроде как кол-во элементов можно не указывать но этот способ фактически никто не рекомендует из за его невыгодности.
P.S. небольшой совет: купите книгу по интересующему вас языку программирования, желательно чтобы примеров было побольше и ищите там все непонятные моменты, но именно физически купить, а не скачать с инета, с физическим экземпляром легче намного, а купленный самоучитель вам очень поможет, потому как вопросы которые вы тут задаете примитивны и описаны в любом самоучителе.
Источник: www.programmersforum.ru
Найти максимальный и минимальный элемент массива на C++
Задачи по нахождению минимального и/или максимального элемента в массиве очень часто встречаются в различных учебных пособиях по программированию и, как правило, вызывают трудности у начинающих программистов или просто студентов, получивших такое задание.
В данной статье вы узнаете, как написать реализацию программы на языке C++, которая находит максимальный и минимальный элемент в массиве и выводит на экран. А узнать множество решений других задач можно в разделе с решениями задач по программированию на языке C++.
Что такое максимальный и минимальный элемент массива
Для начала поймем, что же такое максимальный или минимальный элемент в массиве? Всё просто, максимальный элемент массива — это элемент, который имеет самое большое числовое значение, а минимальный элемент массива — это элемент, имеющий самое маленькое значение.
Пример: в массиве, состоящем из таких элементов: 3, 1, 0, -4, 16, 2 — максимальный элемент равен 16, т.к. это число больше других, а минимальный элемент равен -4, т.к. оно меньше остальных.
Поняв это, можно приступить к решению задачи.
Алгоритм решения задачи
— Инициализация массива, переменных, хранящих минимальное и максимальное значение.
— Заполнение массива случайными числами при помощи цикла и функции, возвращающей случайные числа.
— Сравнение каждого элемента массива: Если элемент больше переменной с максимальным значением, то значение записывается в переменную; Если элемент меньше переменной с минимальным значением, то значение записывается в переменную.
— Вывод переменных с максимальным и минимальным элементом.
Алгоритм решения на языке C++
Для начала нужно подключить заголовок ввода/вывода , заголовок стандартных функций в ней имеется функция rand(), которая позволит заполнить массив случайными числами. Заполнение каждого элемента массива вручную требует времени, его можно сэкономить автоматизировав процесс. Подключаем пространство имён std. Создаём константу N, она будет определять количество элементов в массиве.
#include #include using namespace std; //Пространство имён std const int N = 10;//Количество элементов в массиве int main()
В теле функции main() инициализируем массив целых чисел из N лементов, целочисленные переменные max и min, они будут хранить значение максимального и минимального элементов массива соответственно.
int mass[N], max, min;
Теперь заполним массив случайными числами. Для этого используем цикл от 0 до N (не включительно), который пройдется по каждому элементу массива и поместит случайное значение от 0 до 98. Это можно сделать, использовав функцию rand(), которая возвращает случайное число.
Поделить возвращаемое значение на 99 и внести в ячейку остаток от деления, таким образом значение ячейки будет иметь значение в диапазоне от 0 до 99(не включая 99, т.к. остаток от деления не может быть кратным делителю). При этом выведем значения элементов массива на экран.
cout cout
В результате программа выведет на экран значения элементов массива, разделенное вертикальными чертами:
Элементы: |28|43|72|79|23|70|55|39|69|1|
Обратите внимание! Если вы программируете под Windows и у Вас не отображаются русские символы в консоли, то советую Вам почитать о решении этой проблемы в статье Русские символы(буквы) при вводе/выводе в консоль на C++.
Далее определим максимальный и минимальный элемент в массиве, для этого вновь пройдемся по массиву циклом. При помощи условия определим максимальный и минимальный элемент массива.
Перед циклом нужно будет занести первый элемент массива в переменные min и max, они будут хранить минимальное и максимальное значение изначально, а во время цикла поменяют его, если найдётся значение меньше для min или больше для max.
max = mass[0];//Помещаем значения 1-го элемента min = mass[0];//массива в переменные for(int r = 1; r mass[r]) min = mass[r]; //аналогично и для min >
После цикла выведем значения min и max.
cout
После компиляции и запуска прогамма выводит следующее
Элементы: |28|43|72|79|23|70|55|39|69|1| Min: 1 Max: 79
Пробегаемся по элементам массива глазами и видим, что минимальное значение — 1, а максимальное — 79. Переменные min и max имеют эти же значения соответственно, следовательно алгоритм работает.
Весь листинг программы на C++
#include #include using namespace std; const int N = 10; int main() < int mass[N], max, min; cout cout mass[r]) min = mass[r]; > cout
Для вас это может быть интересно:
Раздел: Программирование Метки: C++, алгоритм, код массивы, программирование
Найти максимальный и минимальный элемент массива на C++ : 10 комментариев
- DARKER 14.08.2015 Как найти максимальный элемент в массиве записанный с клавиатуры?
- DonRon 11.10.2019 так же, делаем проверку с помощью цикла и if
- Toby07.12.2018 У тебя
int i = 0;
int min = 0;
минимальное число у тебя уже является нулем.
попровуй сделать ввод пользователя, или включи рандом.
Источник: nicknixer.ru