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

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

Войти
Регистрация
Восстановить пароль
 
Алиш
62 / 2 / 3
Регистрация: 10.04.2011
Сообщений: 126
#1

Найти наименьшее положительное значение элемента массива и его индекс - C++

27.03.2012, 15:45. Просмотров 917. Ответов 5
Метки нет (Все метки)

Дан одномерный числовой массив, все элементы которого различны. Найти наименьшее положительное значение элемента массива и его номер. Если этот номер окажется больше 3, то удвоить все элементы массива, иначе-возвести их в квадрат. Пж очень прошу помогите идет контрольная у меня
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2012, 15:45     Найти наименьшее положительное значение элемента массива и его индекс
Посмотрите здесь:

Найти значение 3-го по величине элемента и значения всех элементов массива, которые его превышают, заменить на найденное значение C++
Найти значение 3-го по величине элемента и значение всех элементов массива, которые его превышают, заменить на найденное значение C++
Найти наименьшее положительное значение в массиве вещественных чисел C++
C++ Найти наименьшее значение среди положительных элементов и его индекс в массиве
C++ Определить индекс и значение элемента массива, ближайшего к числу Х
C++ Найти в массиве значение и вывести его индекс на экран, вычислить сумму модулей элементов массива
Определить значение минимального элемента массива и его индекс C++
Для каждого столбца матрицы найти значение и индекс максимального элемента C++
C++ Найти индекс минимального элемента массива
C++ Найти индекс максимального элемента массива
Функция: найти наименьшее из положительных элементов массива и вернуть его значение и индекс C++
Найти наименьшее положительное значение функции и соответствующее значение аргумента C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
eji
117 / 117 / 6
Регистрация: 17.09.2010
Сообщений: 288
27.03.2012, 16:25     Найти наименьшее положительное значение элемента массива и его индекс #2
Алиш, код:
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
#include <windows.h>
#include <time.h>
 
using namespace std;
 
char *rus;
char *printrus(char *text, char *rus)
{
    try
    {
        rus = new char[255];
    }
    catch(bad_alloc xa)
    {
        exit(1);
    }
    CharToOem(text, rus);
    return rus;
}
 
int main()
{
    cout << printrus("Дан одномерный числовой массив, все элементы которого различны. Найти наименьшее положительное значение элемента массива и его номер. Если этот номер окажется больше 3, то удвоить все элементы массива, иначе-возвести их в квадрат.", rus)
         << endl;
    srand(time(NULL));
    int a[10];
    int min_item = 101;
    int min_index = -1;
    int min_value = 0;
    for(int i = 0; i < 10; i++)
    {
        a[i] = rand() % (100 - -100 + 1) + -100;
        cout << a[i]
             << "\t";
        if(a[i] > min_value && min_item > a[i])
        {
            min_item = a[i];
            min_index = i;
        }
    }
    cout << "\n----------------------------------------------------------\n";
    for(int i = 0; i < 10; i++)
    {
        if(min_index > 3)
        {
            a[i] += a[i];
        }
        else
        {
            a[i] *= a[i];
        }
        cout << a[i]
             << "\t";
    }
    cout << printrus("\nИндекс элемента: ", rus)
         << min_index
         << endl;
    delete [] rus;
    system("pause");
    return 0;
}
-=ЮрА=-
Заблокирован
Автор FAQ
27.03.2012, 16:27     Найти наименьшее положительное значение элемента массива и его индекс #3
Алиш, лови
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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
int main()
{
    int i, n;//÷èñëî ýëåìåГ*òîâ
    int imin;//ГЁГ*äåêñ Г*Г*èìåГ*ГјГёГҐГЈГ® ïîëîæ ýëåìåГ*ГІГ*
    int * arr = NULL;//ГіГЄГ*Г§Г*òåëü Г*Г* Г*Г*Гё Г¬Г*Г±Г±ГЁГў
    cout<<"Enter number of elements : ";cin>>n;
    arr = new int[n];
    srand(time(0));//ГЌГіГ¦Г*Г® äëÿ ГЈГҐГ*ГҐГ°Г*öèè ñëó÷ Г·ГЁГ±ГҐГ«
    cout<<"Generated array\n";
    for(imin = (i = 0); i < n; i++)
    {
        //ГЈГҐГ*ГҐГ*ðèðóåì Г·ГЁГ±Г«Г* îò -50 äî 50
        arr[i] = rand()%100 - 50;
        cout<<arr[i]<<" ";
        if(0 <= arr[i])//ÝëåìåГ*ГІ ïîëîæèòåëüГ*ûé
        if(arr[i] < arr[imin])//ÝëåìåГ*ГІ ìåГ*ГјГёГҐ Г·ГҐГ¬ ïîêГ* Г*Г*éäåГ*Г*ûé ìåГ*ГјГёГЁГ©
            imin = i;//ÏåðåïðèñâГ*ГЁГўГ*ГҐГ¬ ГЁГ*äåêñ
    }
    //Íîìåð áîëüøå 3-Гµ, Г*Г*ïîìГ*Гѕ Г·ГІГ® ГЁГ*äåêñû èäóò Г± Г*óëÿ
    //Г§Г*Г*Г·ГЁГІ ÷òîáû ïîëó÷èòü Г*îìåð Г*ГіГ¦Г*Г® ГЄ ГЁГ*äåêñó ïðèáГ*ГўГЁГІГј 1-öó
    cout<<"\nNumber of first min positive element : "<<imin + 1<<endl;
    cout<<"Transformed array\n";
    for(i = 0; i < n; i++)
    {
        //Ëèáî ГіГ¬Г*îæГ*ГҐГ¬ Г*Г* 2
        if(3 < imin + 1)
            arr[i] = arr[i]*2;
        else//ëèáî âîçâîäèì Гў ГЄГўГ*äðГ*ГІ ГўГ±Вё Г§Г*ГўГЁГ±ГЁГІ îò imin + 1
            arr[i] = arr[i]*arr[i];
        cout<<arr[i]<<" ";
    }
    cout<<endl;
    system("pause");
    return 0;
}
Миниатюры
Найти наименьшее положительное значение элемента массива и его индекс  
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
27.03.2012, 16:27     Найти наименьшее положительное значение элемента массива и его индекс #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
38
39
#include <stdio.h>
#define SIZE 10
#define CRIT_POS 3
    
void dump(const int * arr, size_t size){
    while ( size-- )
        printf("%d%c", *arr++, ( size ) ? ' ' : '\n');
}
 
int main(void){
    int arr[SIZE], min_positive_index, i;
    
    for ( i = 0; i < SIZE; ++i ){
        printf("ARRAY[%d] = ", i);
        scanf("%d", &arr[i]);
    }
    
    min_positive_index = -1;
    for ( i = 0; i < SIZE; ++i )
        if ( arr[i] > 0 )
            if ( min_positive_index < 0 || arr[min_positive_index] > arr[i] )
                min_positive_index = i;
    
    if ( min_positive_index < 0 ){
        printf("All values in array is negative or zero!\n");
        return 1;
    }
    
    printf("Before:\n");
    dump(arr, SIZE);
    
    for ( i = 0; i < SIZE; ++i )
        arr[i] *= ( min_positive_index + 1 < CRIT_POS ) ? arr[i] : 2;
    
    printf("After:\n");
    dump(arr, SIZE);
    
    return 0;
}
eji
117 / 117 / 6
Регистрация: 17.09.2010
Сообщений: 288
27.03.2012, 16:37     Найти наименьшее положительное значение элемента массива и его индекс #5
-=ЮрА=-, внизу смотри.
Миниатюры
Найти наименьшее положительное значение элемента массива и его индекс  
-=ЮрА=-
27.03.2012, 16:42     Найти наименьшее положительное значение элемента массива и его индекс
  #6

Не по теме:

eji, я увидел, просто твоя ужастная запись кого угодно запутает(я не стал исключением)

Цитата Сообщение от eji Посмотреть сообщение
a[i] = rand() % (100 - -100 + 1) + -100;
- если надо генерировать число скажем от -100 до 100 то проще сделать такую запись rand()%200 - 100 а не те заклиания которые в твоём коде. В любом случае советую пересмотреть запись диапазона, когда нибудь сам себя запутаешь...

Yandex
Объявления
27.03.2012, 16:42     Найти наименьшее положительное значение элемента массива и его индекс
Ответ Создать тему
Опции темы

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