Форум программистов, компьютерный форум CyberForum.ru

Найти минимальный элемент массива и определить его местоположение - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Количество перестановок при сортировке массива http://www.cyberforum.ru/cpp-beginners/thread134490.html
Как вывести число количества перестановок после сортировки массива, допустим выбору?
C++ Массив Задание: все нулевые элементы массива размещены в шахматном порядке, начиная с 1-го элемента 1-й строки. http://www.cyberforum.ru/cpp-beginners/thread134474.html
C++ Виртуальный базовый класс
Создать иерархию типов, описывающую - человека, студента, отца семейства и студента-отца семейства. Использовать виртуальные базовые классы. Написал, некомпилится, подскажите где ошибка, пожалуйста. using namespace std; class human { string name; public: human(string humname ): name(humname) {} string getName()
unknown software exception (0x00000fd) в приложении по адресу 0x00401569 C++
Всем привет) Помогите разобратся с ошибкой. #include <windows.h> HINSTANCE hInstance; LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
C++ Передать в функцию файловый поток http://www.cyberforum.ru/cpp-beginners/thread134456.html
Помогите пожалуйста с файловыми потоками! Мне нужно передать в функцию файловый поток, там его открыть,для определенного файла и дальше в программе пользоваться этим потоком. Вот что у меня вышло(фрагменты программы): void stname(FILE*,FILE*); //прототип функции stname(stream_1,stream_2); //вызов функции void Shifr2::stname(FILE*st_1,FILE*st_2) //сама функция { cout<<"Enter the...
C++ простая математическая модель вращения Есть линия длинной len и центром в точке x,y теперь вопрос - как заставить вращаться ее вокруг своего центра? while(!kbnhit()) { line(x1,y1,x2,y2);//уравнение построения прямой от точки x1,y1 до x2,y2 d++; // коэффициент поворота } Думаю приблизительно такое должно выйти line(x-len/2,y+d,x+len/2,y-d); - но так длинна фигуры увеличивается и фигура просто растет... подробнее

Показать сообщение отдельно
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
24.05.2010, 14:27     Найти минимальный элемент массива и определить его местоположение
Arum, ошибка у вас не одна:
-массив индексируется, начиная с 0, а у вас с 1:
C++
1
for (min=b[0],nmin=0,i=1; i < n; i++)
также не понятно, зачем вы в вышестоящей строчке вновь присваиваете min и nmin начальные значения - вы их уже неправильно присвоили в
C++
1
2
 int min = b[i];
   int nmin = i;
изначально i вы присвоили 1, получается 0-й элемент вы просто игнорируете (а если бы именно он был минимальным?..)
и последнее: зачем вы выводите как индекс минимального элемента i+1? Ведь вы его посчитали в переменной nmin... ее и выводите. (а i+1 у вас выводит 8 позицию, т.к. предидущий цикл остановил значение i на 7 (последней) позиции, а вы к ней еще прибавили 1.
Вот код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
void main()
{
 setlocale (LC_ALL,"Russian");
   int i=0;
   int b[] = {8,9,0,-3,5,-7,-1};
   int n = sizeof(b)/sizeof(b[0]);
   int min = b[i];
   int nmin = i;
   for (i=1; i < n; i++)
       if (b[i] < min)
       {
         min = b[i];
         nmin=i;
       }
   for (int i = 0; i < n; i++)
       cout << " " << b[i];
 
    cout << endl << "Минимальный элемент: " << min<<"\n";
    cout<<"Его номер: "<<nmin<<"\n";
 }
Удачи вам
 
Текущее время: 17:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru