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

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

Войти
Регистрация
Восстановить пароль
 
ninphetamine
0 / 0 / 0
Регистрация: 30.10.2011
Сообщений: 6
#1

Не сложные задачи по с++ - C++

30.10.2011, 16:33. Просмотров 798. Ответов 12
Метки нет (Все метки)

Всем привет!

нужна помощь

Найти в массиве минимальный элемент и удалить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2011, 16:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не сложные задачи по с++ (C++):

Сложные структуры - C++
Помогите пожалуйста дописать программу. Сама задача: На входе задана последовательность n троек (xi, yi, pi), где xi - английское...

Сложные проценты - C++
Коммерсант имея стартовый капитал k рублей занялся торговлей которая ежемесячно увеличивает капитал на p%.Через сколько лет он накопит...

Сложные строки! - C++
Написать программу, которая вводит текст, состоящий из нескольких предложений, и выводит на экран только цитаты, то есть предложения,...

сложные математические операции - C++
проверти правильно сделано Значения переменных x=9.199 , y=3.111, z= 9.888 p=(√(-18*cosx)-z^x)/tg5y*√(11x-3) #include <cstdlib> ...

Две не сложные задачки - C++
1. Составьте программу, определяющую остаток от деления числа А на число В. 2. Даны два различных вещественных числа. Определить какое...

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

12
amor1k
Студент
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
30.10.2011, 16:34 #2
Найти минимальный элемент массива
0
anonimious
13 / 13 / 2
Регистрация: 17.10.2011
Сообщений: 54
30.10.2011, 16:34 #3
Свой вариант есть?
0
amor1k
Студент
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
30.10.2011, 16:35 #4
слегка подправь под себя, а минимум замени нулем например..
0
ForEveR
В астрале
Эксперт С++
7979 / 4738 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
30.10.2011, 16:36 #5
C++
1
2
std::list<int> lst = {1,2,3,4,5,6,7,0,4,3,2};
lst.erase(std::min_element(lst.begin(), lst.end()));
0
ninphetamine
0 / 0 / 0
Регистрация: 30.10.2011
Сообщений: 6
30.10.2011, 16:42  [ТС] #6
#include <iostream>

int main() { * * constНахо int n = 10; * * int mas[n], i, imin = 0, imax = 0; * * for(i = 0; i < n; ++i) * * * * std::cin>>mas[i]; * * for(i = 1; i < n; ++i) * * { * * * * if(mas[i] > mas[imax]) * * * * * * imax = i; * * * * if(mas[i] < mas[imin]) * * * * * * imin = i; * * } * * for(i = (imin < imax) ? imin : imax; i < (imin < imax) ? imax : imin; ++) * * * * mas[i] = mas[i + i]; * * for(i = (imin > imax) ? imin : imax; i < n - 1; ++) * * * * mas[i] = mas[i + i]; * * return 0; * *

}


удаляет максимальный и минимальный элемент. исправьте только на одно условие. И чтобы было максимум просто.
0
amor1k
Студент
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
30.10.2011, 16:53 #7
Цитата Сообщение от ninphetamine Посмотреть сообщение
#include <iostream>
int main() { * * constНахо int n = 10; * * int mas[n], i, imin = 0, imax = 0; * * for(i = 0; i < n; ++i) * * * * std::cin>>mas[i]; * * for(i = 1; i < n; ++i) * * { * * * * if(mas[i] > mas[imax]) * * * * * * imax = i; * * * * if(mas[i] < mas[imin]) * * * * * * imin = i; * * } * * for(i = (imin < imax) ? imin : imax; i < (imin < imax) ? imax : imin; ++) * * * * mas[i] = mas[i + i]; * * for(i = (imin > imax) ? imin : imax; i < n - 1; ++) * * * * mas[i] = mas[i + i]; * * return 0; * *
}
такое тяжело разобрать
0
ninphetamine
0 / 0 / 0
Регистрация: 30.10.2011
Сообщений: 6
30.10.2011, 20:39  [ТС] #8
Где звездочки это пробелы я с телефона просто

Добавлено через 3 часа 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
int main()
{
    const int n = 10;
    int mas[n], i, imin = 0, imax = 0;
    for(i = 0; i < n; ++i)
        std::cin>>mas[i];
    for(i = 1; i < n; ++i)
    {
        if(mas[i] > mas[imax])
            imax = i;
        if(mas[i] < mas[imin])
            imin = i;
    }
    for(i = (imin < imax) ? imin : imax; i < (imin < imax) ? imax : imin; ++)
        mas[i] = mas[i + i];
    for(i = (imin > imax) ? imin : imax; i < n - 1; ++)
        mas[i] = mas[i + i]; 
    return 0;   
}
теперь помогите)
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
30.10.2011, 20:41 #9
Цитата Сообщение от ninphetamine Посмотреть сообщение
for(i = (imin < imax) ? imin : imax; i < (imin < imax) ? imax : imin; ++)
Очепятка?
0
ninphetamine
0 / 0 / 0
Регистрация: 30.10.2011
Сообщений: 6
30.10.2011, 20:56  [ТС] #10
Цитата Сообщение от soon Посмотреть сообщение
Очепятка?
я еще не силен в си++ поэтому прошу дать готовое решение а не указывать на ошибки)
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
30.10.2011, 21:24 #11
У вас ++ ни к чему не относятся. Напишите ++i в обоих циклах вот так
C++
1
for(i = (imin < imax) ? imin : imax; i < (imin < imax) ? imax : imin; ++i)
Не совсем понятно, зачем искать максимальный элемент, когда в ТЗ указано только про минимальный.
1
ninphetamine
0 / 0 / 0
Регистрация: 30.10.2011
Сообщений: 6
30.10.2011, 22:24  [ТС] #12
Цитата Сообщение от soon Посмотреть сообщение
У вас ++ ни к чему не относятся. Напишите ++i в обоих циклах вот так
C++
1
for(i = (imin < imax) ? imin : imax; i < (imin < imax) ? imax : imin; ++i)
Не совсем понятно, зачем искать максимальный элемент, когда в ТЗ указано только про минимальный.
я эту прогу на форуме нашел, её надо исправить на требуемые условие т.е. только минимальный элемент. исправьте код пожалуйста))
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
31.10.2011, 07:13 #13
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
#include <iostream>
int main()
{
    const int n = 10;
    int arr[n], iMin = 0;
 
    for(int i = 0; i < n; ++i)
    {
        std::cin >> arr[i];
        if((i) && (arr[i] < arr[iMin]))
            iMin = i;
    }
 
    /*for(int i = iMin; i < n - 1; ++i)
        arr[i] = arr[i + 1]; 
    std::cout << "result array:" << std::endl;
    for(int i = 0; i < n - 1; ++i)
        std::cout << arr[i] << "\t";*/
 
    /*std::cout << "result array:" << std::endl;
    for(int i = 0; i < n; ++i)
        if(i != iMin)
            std::cout << arr[i] << "\t";*/
 
    return 0;
}
Вроде так должно работать. Реализовано 2 случая, первый действительно сдвигает все элементы массива, второй просто не выводит наименьший. Оба закоментированы, какой вам больше нравится, тот и используйте.
1
31.10.2011, 07:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2011, 07:13
Привет! Вот еще темы с ответами:

Стоит ли использовать сложные конструкции - C++
Добрый вечер, встревожила и заставила задуматься статья https://habrahabr.ru/company/pvs-studio/blog/301736/ Ведь действительно,...

DEV-C++. Сложные проценты по вкладу - C++
Гражданин 1 марта открыл счет в банке, вложив 1000 руб. Каждый месяц размер вклада увеличивается на 2 % от имеющийся суммы. Определить...

Задача на вклады: простые и сложные проценты - C++
Условия надо переписывать! Условие во вложенных файлах, подскажите, пожалуйста, верно ли решила. #include &lt;iostream&gt; using...

Почему в С++ используются сложные имена для структур? - C++
Их читать сложно. BITMAPFILEHEADER LPBITMAPFILEHEADER PBITMAPFILEHEADER FONTSIGNATURE PFONTSIGNATURE LPFONTSIGNATURE


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

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

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