Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

18.06.2011, 18:12. Просмотров 1099. Ответов 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++;
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2011, 18:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос подскажите как вывести позицию элемента (C++):

Вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск заданного элемента - C++
Добавить в класс &quot;Односвязный список&quot; следующие функции: вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск...

Односвязные списки.Вставка элемента в заданную позицию - C++
Здравствуйте, я столкнулся с такой проблемой точнее наверно с непониманием...короче говоря нужно в список добавить элемент по позиции вот...

Функция возвращает позицию минимального элемента в массиве - C++
Написать функцию, которая получает в качестве параметров адрес числового массива данных и его размер. Функция возвращает позицию...

Определить позицию последнего минимального элемента массива - C++
Дан массив A(N). Надо определить место маленького последнего элемента.

АТД список. Перемещение заданного элемента на первую позицию - C++
Здравствуйте!! Подскажите пожалуйста как переместить элемент списка на первую позицию? Например: есть список o o t o t,...

Функция добавления элемента в односвязный список в указанную позицию - C++
Здравствуйте! Помогите пожалуйста написать функцию добавления элемента в односвязный список в указанную позицию.Не могу сообразить как...

16
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
18.06.2011, 18:33 #2
целиком задачу можете написать?
0
!!!Archi!!!
4 / 4 / 0
Регистрация: 07.04.2011
Сообщений: 73
18.06.2011, 18:35  [ТС] #3
Найти минимальный элемент массива Х и его индекс.
0
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;
}
1
Я-Лис
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]
0
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
18.06.2011, 18:53 #6
Я-Лис, Вы это к чему?
0
Я-Лис
29 / 64 / 13
Регистрация: 10.05.2011
Сообщений: 173
18.06.2011, 18:57 #7
Mиxaил, ни к чему, просто написал общий вид, чтобы не привязываться к его коду
0
easybudda
Модератор
Эксперт CЭксперт С++
9693 / 5643 / 962
Регистрация: 25.07.2009
Сообщений: 10,848
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;
}
ну и минимальный примерно так же найти можно...
1
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;
0
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;
}
0
Mиxaил
18.06.2011, 19:22
  #11

Не по теме:

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

0
no0ker
101 / 88 / 4
Регистрация: 17.12.2010
Сообщений: 416
18.06.2011, 19:29 #12
silentnuke, ну, про итерации очевидно. =) просто это не та ошибка, из за которой код не работает.
0
silentnuke
Android Programmer
139 / 140 / 5
Регистрация: 08.12.2010
Сообщений: 421
18.06.2011, 19:31 #13
Цитата Сообщение от no0ker Посмотреть сообщение
silentnuke, ну, про итерации очевидно. =) просто это не та ошибка, из за которой код не работает.
ну если б у него элемент минимальный был в конце, тоже было б ошибкой)
0
!!!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;
}
0
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 цифры поменять?
0
19.06.2011, 03:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2011, 03:05
Привет! Вот еще темы с ответами:

Вставка нового элемента в произвольную допустимую позицию в массиве - C++
Написать функции для работы с динамическим одномерным массивом: a) создание динамического массива указанного размера; b) заполнение...

Подскажите ,как осуществить поиск максимального элемента массива - C++
Как считать информацию с файла? что тут не так? Что надо писать в текстовом документе? #include &lt;iostream&gt; #include &lt;conio.h&gt; ...

Одномерный динамический массив, найти значение и позицию максимального элемента - C++
Дан одномерный динамический массив размерностью N, найти значения и позицию максимального элемента

подскажите: как вывести на экран числа от 0 до 20.... и еще одна: вывести все четные числа от 0 до 20... - C++
подскажите: как вывести на экран числа от 0 до 20.... и еще одна: вывести все четные числа от 0 до 20... эт надо очень срочно....


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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