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

Задача по одномерному массиву - C++

Восстановить пароль Регистрация
 
Perturabo
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 7
24.11.2013, 09:36     Задача по одномерному массиву #1
Доброго времени суток! Прошу помочь с решением вот такой задачи:

С клавиатуры ввести одномерный массив, найти минимальный элемент массива, а затем вывести на печать только те элементы, которые стоят левее минимального. Использовать указатели.

Пример:

Дан массив 36 34 24 74 84
Минимальный элемент - 24
На печать должно вывестись: 36 34

Заранее спасибо за помощь!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
hwmlex
 Аватар для hwmlex
41 / 41 / 3
Регистрация: 30.01.2013
Сообщений: 133
24.11.2013, 11:15     Задача по одномерному массиву #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
#include <iostream>
 
int main()
{
    int n;
    std::cout << "N: ";
    std::cin >> n;
 
    int a[n], j = 0, min = 100;
    for (int i = 0; i < n; i++)
    {
        std::cin >> a[i];
        if (a[i] < min)
        {
            min = a[i];
            j = i;
        }
    }
 
    for (int i = 0; i < j; i++)
        std::cout << a[i] << " ";
 
}
Perturabo
0 / 0 / 0
Регистрация: 24.11.2013
Сообщений: 7
24.11.2013, 11:56  [ТС]     Задача по одномерному массиву #3
Не работает. В строке, что написана ниже, видит ошибку "Constant expression required". Не серчайте, если я туплю, просто я совсем дно в этом.
Цитата Сообщение от hwmlex Посмотреть сообщение

C++
1
2
3
    int a[n], j = 0, min = 100;
    
}
Ну и я написал,что надо с использованием указателей, а в Вашей проге их нет

Я написал прогу, которая просто находит минимальный элемент в массиве, может ее получится как-то модернизировать так, как мне нужно?
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <conio>
int main ()
{
    int *mas;
    int n;
    std::cout << "Enter number of elements: ";
    std::cin  >> n;
    mas = new int [n];
    std::cout << "\nEnter array values: \n";
 
    int min = 0;
 
    for ( int i = 0; i < n; i ++ )
    {
        std::cin >> mas[i];
        if ( mas[min] > mas[i] ) min = i;
    }
 
    std::cout << "\nMinimal element in array is mas[" << min << "] = " << mas[min];
    std::cin.get();
    delete [] mas;
getch();
}
Liden
17 / 17 / 2
Регистрация: 19.11.2013
Сообщений: 83
25.11.2013, 04:10     Задача по одномерному массиву #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 "stdafx.h"
#include <iostream>
#include <cstdlib>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_CTYPE, "rus");
 
 
    int size, min, index=0;
    cout<<"Введите размер массива: "; cin>>size;
 
    int *massive=new int [size];
    for(int i=0; i<=size-1; i++){
        cout<<"Введите "<<i<<" элемент массива: "; 
        cin>>massive[i];
            
    }
    min=massive[0];
    for(int j=1;j<=size-1;j++){
        if(min>massive[j]){ 
            min=massive[j];
            index=j;
        
        }}
    cout<<"Минимальное значение: "<<min<<" "<<endl;
    cout<<"Элементы, которые стоят левее минимального: ";
    for (int k=0;k<index;k++){
        cout<<massive[k]<<" ";
    }
    
    delete [] massive;
 
 
    system ("pause");
    return 0;
}
Yandex
Объявления
25.11.2013, 04:10     Задача по одномерному массиву
Ответ Создать тему
Опции темы

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