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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
!!!Archi!!!
4 / 4 / 0
Регистрация: 07.04.2011
Сообщений: 73
#1

подскажите как вывести позицию элемента - C++

18.06.2011, 18:12. Просмотров 1065. Ответов 16
Метки нет (Все метки)

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
36
37
38
39
40
41
42
43
44
45
46
#include "stdafx.h"
# include <iostream>
# include <conio.h>
# include <Windows.h>
using namespace std;
 
int main ()
{
    setlocale (LC_CTYPE, "Russian");
    int n,k,v,m;
    int *t;
    cout<< "Введите размер масива ";
cin>>k;
t=new int [k];
cout<<"Введите элементы масива \n";
for (int i =0; i<k;i++)
{
    cout<<i+1<<". ";
cin>>t[i];
}
m=t[0];
int r;
for (int i =0; i<k-1;i++)
        {
    if(m>t[i])
 
        m=t[i];
        r=i;
        r++;
        }
cout<<"Минимальный эелемент"<<m;
cout<< "позиция элемента "<<r;
getch ();
cin.get ();
cin.get ();
return 0;
}
здесь нужно вывести позицию элемента, у меня это не выходит
for (int i =0; i<k-1;i++)
        {
    if(m>t[i])
 
        m=t[i];
        r=i;
        r++;
        }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2011, 18:12     подскажите как вывести позицию элемента
Посмотрите здесь:
Функция возвращает позицию минимального элемента в массиве C++
Определить позицию последнего минимального элемента массива C++
Односвязные списки.Вставка элемента в заданную позицию C++
C++ Вставка нового элемента в произвольную допустимую позицию в массиве
C++ АТД список. Перемещение заданного элемента на первую позицию
C++ Функция добавления элемента в односвязный список в указанную позицию
C++ Подскажите ,как осуществить поиск максимального элемента массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
18.06.2011, 18:33     подскажите как вывести позицию элемента #2
целиком задачу можете написать?
!!!Archi!!!
4 / 4 / 0
Регистрация: 07.04.2011
Сообщений: 73
18.06.2011, 18:35  [ТС]     подскажите как вывести позицию элемента #3
Найти минимальный элемент массива Х и его индекс.
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
18.06.2011, 18:45     подскажите как вывести позицию элемента #4
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
36
37
#include <iostream>
#include <ctime>
#include <iomanip>
 
#define SizeOfArray 10
 
void PrintingArray ( int * mas )
{
    for ( int index = 0; index < SizeOfArray; index++ )
        std::cout << std::setw ( 4 ) << mas [ index ];
    std::cout << std::endl;
}
 
int main( int argc, char * argv[] )
{
    int * Array = new int [ SizeOfArray ];
        
    int PositionOfMinimum = 0;
    
    srand ( time ( 0 ) );
    Array [ 0 ] = rand () % 12 - 5;
    
    for ( int index = 1; index < SizeOfArray; index++ )
    {
        Array [ index ] = rand () % 10 - 2;
        if ( Array [ index ] < Array [ PositionOfMinimum ] )
            PositionOfMinimum = index;
    }
 
    PrintingArray ( Array );
    std::cout << "Min: " << Array [ PositionOfMinimum ] << std::endl;
    std::cout << "Position: " << PositionOfMinimum << std::endl;
 
    delete [] Array;
    std::cin.get();
    return 0;
}
Я-Лис
29 / 64 / 13
Регистрация: 10.05.2011
Сообщений: 173
18.06.2011, 18:49     подскажите как вывести позицию элемента #5
Вообще минимальный ищется так:
C++
1
2
3
4
int imin = 0;  //считаем,что первый минимальный
for(i=1;i<N;i++)
    if(A[i]<A[imin])
        imin = i;
индекс минимального - это imin
а минимальный элемент A[imin]
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
18.06.2011, 18:53     подскажите как вывести позицию элемента #6
Я-Лис, Вы это к чему?
Я-Лис
29 / 64 / 13
Регистрация: 10.05.2011
Сообщений: 173
18.06.2011, 18:57     подскажите как вывести позицию элемента #7
Mиxaил, ни к чему, просто написал общий вид, чтобы не привязываться к его коду
easybudda
Эксперт CЭксперт С++
9465 / 5478 / 927
Регистрация: 25.07.2009
Сообщений: 10,502
18.06.2011, 18:57     подскажите как вывести позицию элемента #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 <stdio.h>
    
#define ARR_SIZE(a) (sizeof(a)/sizeof(*a))
 
int * max_element(const int * arr, size_t size){
    return ( size < 2 ) ? (int*)arr : ( *arr < *(arr + size - 1) ) ? max_element(arr + 1, size - 1) : max_element(arr, size - 1);
}
 
void dump(const int * arr, size_t size){
    while ( size-- )
        printf("%d ", *arr++);
}
 
int main(void){
    int arr[] = { 1, 3, 2, 6, 5, 4 }, * pMax;
    
    printf("Aarray: ");
    dump(arr, ARR_SIZE(arr));
    pMax = max_element(arr, ARR_SIZE(arr));
    printf("\nMax element: %d\tIndex (starts by 0): %d\n", *pMax, pMax - arr);
    
    return 0;
}
ну и минимальный примерно так же найти можно...
no0ker
101 / 88 / 4
Регистрация: 17.12.2010
Сообщений: 416
18.06.2011, 19:12     подскажите как вывести позицию элемента #9
если вернуться к коду автора, то он - верный. =) в общих чертах.
C++
1
2
3
4
5
6
7
8
9
10
11
m=t[0];
int r;// предполагаем что наименьший элемент - первый. значит писать надо r=0;
for (int i =0; i<k-1;i++) 
                {
        if(m>t[i]) 
// а вот тут нужна "{"
                m=t[i];
                r=i;
                r++;
                //тут нужно "}" , закрывающая if
// тут нужна "}" , закрывающая цикл for;
silentnuke
Android Programmer
139 / 140 / 5
Регистрация: 08.12.2010
Сообщений: 421
18.06.2011, 19:19     подскажите как вывести позицию элемента #10
Цитата Сообщение от no0ker Посмотреть сообщение
если вернуться к коду автора, то он - верный. =) в общих чертах.
C++
1
2
3
4
5
6
7
8
9
10
11
m=t[0];
int r;// предполагаем что наименьший элемент - первый. значит писать надо r=0;
for (int i =0; i<k-1;i++) 
                {
        if(m>t[i]) 
// а вот тут нужна "{"
                m=t[i];
                r=i;
                r++;
                //тут нужно "}" , закрывающая if
// тут нужна "}" , закрывающая цикл for;
если предполагаем что первой элемент 0, то и счетчик можно начинать с 1, а не 0, ибо лишняя итерация, идем дальше у автора i<k-1, тобишь последний элемент всегда будет терятся, поэтом или i<=k-1 или i<k; беря во внимание выше сказанное, получаем вот такой код:
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <Windows.h>
using namespace std;
 
int main ()
{
    setlocale (LC_CTYPE, "Russian");
    int n,k,v,m;
    int *t;
    cout<< "Введите размер масива ";
    cin>>k;
    t=new int [k];
    cout<<"Введите элементы масива \n";
    for (int i=0; i<k;i++)
    {
        cout<<i<<". ";
        cin>>t[i];
    }
    m=0;
    for (int i=1; i<k;i++)
    {
        if(t[m]>t[i])
            m=i;
    }
    cout<<"Минимальный эелемент"<<t[m];
    cout<< "позиция элемента "<<m;
    getch ();
    cin.get ();
    cin.get ();
    return 0;
}
Mиxaил
18.06.2011, 19:22
  #11

Не по теме:

Цитата Сообщение от silentnuke Посмотреть сообщение
getch (); cin.get (); cin.get ()
бывает

no0ker
101 / 88 / 4
Регистрация: 17.12.2010
Сообщений: 416
18.06.2011, 19:29     подскажите как вывести позицию элемента #12
silentnuke, ну, про итерации очевидно. =) просто это не та ошибка, из за которой код не работает.
silentnuke
Android Programmer
139 / 140 / 5
Регистрация: 08.12.2010
Сообщений: 421
18.06.2011, 19:31     подскажите как вывести позицию элемента #13
Цитата Сообщение от no0ker Посмотреть сообщение
silentnuke, ну, про итерации очевидно. =) просто это не та ошибка, из за которой код не работает.
ну если б у него элемент минимальный был в конце, тоже было б ошибкой)
!!!Archi!!!
4 / 4 / 0
Регистрация: 07.04.2011
Сообщений: 73
19.06.2011, 00:23  [ТС]     подскажите как вывести позицию элемента #14
А если сделать так чтоб позиция элемента начинала считаться не с 0 а с1???
в ответе начинается счет с 0
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
#include "stdafx.h"
# include <iostream>
# include <conio.h>
# include <Windows.h>
using namespace std;
 
int main ()
{
    setlocale (LC_CTYPE, "Russian");
    int n,k,v,m;
    int *t;
    cout<< "Введите размер масива ";
cin>>k;
t=new int [k];
cout<<"Введите элементы масива \n";
for (int i =0; i<k;i++)
{
    cout<<i+1<<". ";
cin>>t[i];
}
m=0;
        for (int i=1; i<k;i++)
        {
                if(t[m]>t[i])
                        m=i;
        }
        cout<<"Минимальный эелемент"<<t[m];
        cout<< "позиция элемента "<<m;
getch ();
cin.get ();
cin.get ();
return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2011, 03:05     подскажите как вывести позицию элемента
Еще ссылки по теме:
Одномерный динамический массив, найти значение и позицию максимального элемента C++
подскажите: как вывести на экран числа от 0 до 20.... и еще одна: вывести все четные числа от 0 до 20... C++
C++ Вставка элемента в позицию первого вхождения числа, сумма цифр которого кратна 7
C++ Подскажите, как сделать сдвиг массива вправо для вставки нового элемента?
C++ Одномерный массив, подскажите как вывести, как просит в задании

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

Или воспользуйтесь поиском по форуму:
silentnuke
Android Programmer
139 / 140 / 5
Регистрация: 08.12.2010
Сообщений: 421
19.06.2011, 03:05     подскажите как вывести позицию элемента #15
Цитата Сообщение от !!!Archi!!! Посмотреть сообщение
А если сделать так чтоб позиция элемента начинала считаться не с 0 а с1???
в ответе начинается счет с 0
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
#include "stdafx.h"
# include <iostream>
# include <conio.h>
# include <Windows.h>
using namespace std;
 
int main ()
{
    setlocale (LC_CTYPE, "Russian");
    int n,k,v,m;
    int *t;
    cout<< "Введите размер масива ";
cin>>k;
t=new int [k];
cout<<"Введите элементы масива \n";
for (int i =0; i<k;i++)
{
    cout<<i+1<<". ";
cin>>t[i];
}
m=0;
        for (int i=1; i<k;i++)
        {
                if(t[m]>t[i])
                        m=i;
        }
        cout<<"Минимальный эелемент"<<t[m];
        cout<< "позиция элемента "<<m;
getch ();
cin.get ();
cin.get ();
return 0;
}
самому религия не позволяет 2 цифры поменять?
Yandex
Объявления
19.06.2011, 03:05     подскажите как вывести позицию элемента
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru