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

Массивы, нужно определить минимальный элемент, вывести его значение и индекс... - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.83
15
1 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 30
01.04.2012, 16:03     Массивы, нужно определить минимальный элемент, вывести его значение и индекс... #1
Здравствуйте, мне нужно определить минимальный элемент. Вывести его значение и индекс.
Тип элементов массива Float
Количество элементов массива 15
Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2012, 16:03     Массивы, нужно определить минимальный элемент, вывести его значение и индекс...
Посмотрите здесь:

C++ в матрице К(7,7) найти минимальный элемент и заменить его на значение среднего
Массивы: найти среди отрицательных элементов максимальный элемент и его индекс C++
C++ Найти минимальный элемент массива и вывести на экран его столбец и строку
C++ Найти в массиве значение и вывести его индекс на экран, вычислить сумму модулей элементов массива
Выведите на экран массив, его минимальный элемент и его индекс в массиве C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Plazma
5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 51
01.04.2012, 16:18     Массивы, нужно определить минимальный элемент, вывести его значение и индекс... #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
using namespace std;
int main(){
 
float fl[15]={5.1,6.4,4.2,3.1,2.0,1.1,8.2,9.7,1.4,1.2,1.3,1.9,9.8,9.2,9.3};
 
 
float min;
min=fl[0];
for(int i=0;i<15;i++){
    if(fl[i]<min){
    min=fl[i];
    }
}
cout<<"MIN element:"<<endl;
cout<<min<<endl;
system("pause");
return 0;}
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
01.04.2012, 16:21     Массивы, нужно определить минимальный элемент, вывести его значение и индекс... #3
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>
#include <vector>
#include <random>
#include <algorithm>
#include <cstdlib>
#include <iomanip>
 
int main()
{
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_real_distribution<> urd(-5., 5.);
    const std::size_t size = 15;
    std::vector<double> v(size);
    std::generate(v.begin(), v.end(), [&urd, &gen] () { return urd(gen); });
    for(const auto& elem: v)
        std::cout << std::setw(10) << elem;
    std::cout << std::endl;
    const auto min = std::min_element(v.begin(), v.end());
    std::cout << *min << " at " << min - v.begin() << std::endl;
    return 0;
}
Plazma
5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 51
01.04.2012, 16:56     Массивы, нужно определить минимальный элемент, вывести его значение и индекс... #4
Забыл про индекс, вот чтоб вывести индекс
C++
1
2
3
4
5
6
7
8
9
float min;
int ind=0;
min=fl[0];
for(int i=0;i<15;i++){
    if(fl[i]<min){
    min=fl[i];
ind=i;
    }
}
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
01.04.2012, 17:15     Массивы, нужно определить минимальный элемент, вывести его значение и индекс... #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <algorithm>
#include <functional>
#include <iterator>
#include <array>
#include <random>
#include <ctime>
 
double random_range(double low, double high)
{
   static std::mt19937 eng(std::time(nullptr));
   static std::uniform_real_distribution<> distr;
   return distr(eng, std::uniform_real_distribution<>::param_type(low, high));
}
 
int main()
{ 
   // -------------
   typedef std::ostream_iterator<double> double_out_iter_t;
   // -------------
   
   std::array<double, 15> a;
   std::generate(a.begin(), a.end(), std::bind(random_range, -10.0, 10.0));
 
   std::cout << "array\n";   
   std::copy(a.begin(), a.end(), double_out_iter_t(std::cout, "\n"));
   std::cout << "\n";
   
   auto min_idx = std::distance(a.begin(), std::min_element(a.begin(), a.end()));
   std::cout << "min index: " << min_idx + 1 << "\n"
                "min value: " << a[min_idx] << "\n";   
}
15
1 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 30
01.04.2012, 17:21  [ТС]     Массивы, нужно определить минимальный элемент, вывести его значение и индекс... #6
Цитата Сообщение от Plazma Посмотреть сообщение
Забыл про индекс, вот чтоб вывести индекс
C++
1
2
3
4
5
6
7
8
9
float min;
int ind=0;
min=fl[0];
for(int i=0;i<15;i++){
    if(fl[i]<min){
    min=fl[i];
ind=i;
    }
}
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
using namespace std;
int main(){
 
float fl[15]={5.1,6.4,4.2,3.1,2.0,1.1,8.2,9.7,1.4,1.2,1.3,1.9,9.8,9.2,9.3};
 
 
float min;
int ind=0;
min=fl[0];
for(int i=0;i<15;i++){
    if(fl[i]<min){
    min=fl[i];
ind=i;
    }
}
cout<<"MIN element:"<<endl;
cout<<min<<endl;
system("pause");
return 0;}
Вот что получилось:
[img]http://s019.***********/i609/1204/8e/5696bf0e4ddet.jpg[/img]

Что делать?
И можно вывести массив что бы выводило массив, а потом минимальный элемент?
Plazma
5 / 5 / 0
Регистрация: 20.11.2010
Сообщений: 51
01.04.2012, 18:02     Массивы, нужно определить минимальный элемент, вывести его значение и индекс... #7
добавьте cout<<"Index minimalnogo elementa\n"<<ind<<endl;

вы же вроде собирались вывести индекс минимального элемента..
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 492
01.04.2012, 18:05     Массивы, нужно определить минимальный элемент, вывести его значение и индекс... #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
using namespace std;
int main(){
 
float fl[15]={5.1,6.4,4.2,3.1,2.0,1.1,8.2,9.7,1.4,1.2,1.3,1.9,9.8,9.2,9.3};
cout<<"Massiv: ";
for(int i=0;i<15;i++)
{
 cout<<fl[i]<<" ";               
}
float min;
int ind=0;
min=fl[0];
for(int i=0;i<15;i++){
    if(fl[i]<min){
    min=fl[i];
ind=i;
    }
}
cout<<"\n\nMIN element: ";
cout<<min<<endl;
system("pause>>void");
return 0;}
ПРобуй
15
1 / 1 / 0
Регистрация: 11.12.2011
Сообщений: 30
12.04.2012, 20:27  [ТС]     Массивы, нужно определить минимальный элемент, вывести его значение и индекс... #9
Цитата Сообщение от a.n.o.n.i.m Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
using namespace std;
int main(){
 
float fl[15]={5.1,6.4,4.2,3.1,2.0,1.1,8.2,9.7,1.4,1.2,1.3,1.9,9.8,9.2,9.3};
cout<<"Massiv: ";
for(int i=0;i<15;i++)
{
 cout<<fl[i]<<" ";               
}
float min;
int ind=0;
min=fl[0];
for(int i=0;i<15;i++){
    if(fl[i]<min){
    min=fl[i];
ind=i;
    }
}
cout<<"\n\nMIN element: ";
cout<<min<<endl;
system("pause>>void");
return 0;}
ПРобуй
ошибка \\TSCLIENT\D\Новая папка\Cpp1.cpp(14) : error C2374: 'i' : redefinition; multiple initialization
в этом рядке for(int i=0;i<15;i++){
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 492
12.04.2012, 21:17     Массивы, нужно определить минимальный элемент, вывести его значение и индекс... #10
Странно этого поста не помню,я не мог так написать)) я только на си

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <stdlib.h>
 
int main()
{
    setlocale(LC_ALL, "RUSSIAN");
    int i,n;
    while(!fflush(stdin)&&printf("Введите размерность массива = ")&&!scanf("%i",&n));
    int *A=(int*)malloc(n*sizeof(int));
    int min=A[0];
    printf("\n\tВвод массива А\n\n");
    for(i=0;i<n;i++)
    {
        while(!fflush(stdin)&&printf("A[%i] = ",i+1)&&!scanf("%i",&A[i]));
    }
    for(i=0;i<n;i++)
    {
        if(A[i]<min)
        {
            min=A[i]; 
        }
    }
    system("cls");
    printf("Массив А: ");
    for(i=0;i<n;i++)
    {
        printf("%i ",A[i]);
    }
    printf("\nМинимальный элемент массива А: %i",min);
    getch();
    return 0;
}
Вот мой вариант,будешьв виджуал компилировать если разкомментируй первую строку

Добавлено через 1 минуту
Но у меня и тот код с предыдущего поста на с++ прекрасно компилируется
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2016, 19:59     Массивы, нужно определить минимальный элемент, вывести его значение и индекс...
Еще ссылки по теме:

определить значение минимального элемента и его индекс C++
C++ В каждой строке найти минимальный элемент, затем среди них найти максимальное и вывести на экран индекс этого элемента
C++ Массивы: определить минимальный элемент и суму элементов до первого нулевого элемента

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Aliksan
2 / 2 / 1
Регистрация: 22.09.2015
Сообщений: 113
12.03.2016, 19:59     Массивы, нужно определить минимальный элемент, вывести его значение и индекс... #11
Старый пост, но отвечу. Плазма, твой кусочек кода на Си, который считает индекс - он плохой, ибо... он не работает. Странно, что никто этого не заметил.
Yandex
Объявления
12.03.2016, 19:59     Массивы, нужно определить минимальный элемент, вывести его значение и индекс...
Ответ Создать тему
Опции темы

Текущее время: 10:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru