Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
ChingizBat
0 / 0 / 1
Регистрация: 03.11.2014
Сообщений: 112
#1

Упорядочение массива по возрастанию до первого отрицательного элемента - C++

21.04.2015, 13:05. Просмотров 217. Ответов 7
Метки нет (Все метки)

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
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
int main()
{
    int n=8, i, j, temp, mas[8];
    cout << "Input array:" << endl;
    for (i=0; i<n; i++){
        cin >> mas[i];
    }
    int min = 0;
    for (i=0; i<n; i++){
        if (mas[i] < 0){
            min = i;
            break;
        }
    }
    for(i=0; i<min; i++){
        for(j=0; j<min; j++){
            if(mas[j] > mas[i])
            {
                temp = mas[i];
                mas[i] = mas[j];
                mas[j] = temp;
            }
        }
    }
    cout << endl << "Array: " << endl;
    for(i=0; i<n; i++)
        cout << mas[i] << ' ';
 
    return 0;
}
написал код, только до одного додуматься не могу, ввожу 8 цифр выводит 7, что не так?
http://www.cyberforum.ru/cpp-beginners/thread1853447.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2015, 13:05
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Упорядочение массива по возрастанию до первого отрицательного элемента (C++):

Найти номер первого отрицательного элемента массива
найти номер первого отрицательного элемента массива. не могу написать...

Найти: Номер первого отрицательного элемента массива
написать такую же программу используя функции //Задача №1 Дан массив элементов...

Найти произведение элементов массива до первого не отрицательного элемента
Дан массив из 1000 случайных целых чисел в диапазоне от от -5 до 2,найти...

Сортировка по убыванию элементов массива, расположенных до первого отрицательного элемента
Отсортировать в порядке убывания элементы массива Е(46), расположенные до...

Найти номер первого отрицательного элемента массива, делящегося на 5 с остатком 2
2. Дан массив целых чисел, состоящий из 15 элементов. Заполнить его с...

7
Почтальон
Модератор
582 / 520 / 104
Регистрация: 22.03.2015
Сообщений: 3,619
Завершенные тесты: 1
21.04.2015, 13:10 #2
Потому что:
C++
1
(i=0; i<n; i++)
Измените на
C++
1
(i=0; i<=n; i++)
и попробуйте заново.
0
maestro4250
11 / 11 / 5
Регистрация: 01.04.2015
Сообщений: 120
21.04.2015, 13:10 #3
Цитата Сообщение от ChingizBat Посмотреть сообщение
cout << endl << "Array: " << endl;
* * for(i=0; i<n+1; i++)
* * * * cout << mas[i] << ' ';

или i<=n, наверное так
0
ChingizBat
0 / 0 / 1
Регистрация: 03.11.2014
Сообщений: 112
21.04.2015, 13:31  [ТС] #4
если поставить n+1 или <=n, то при вводе массива 3 5 1 0 8 -7 3 1 -8, выводит 0 1 3 5 8 -7 3 1 5, не понятно откуда он берет последнюю пятерку
0
Mikhail1990
24 / 23 / 5
Регистрация: 22.03.2014
Сообщений: 265
21.04.2015, 14:07 #5
Цитата Сообщение от ChingizBat Посмотреть сообщение
написал код, только до одного додуматься не могу, ввожу 8 цифр выводит 7, что не так?
размер массива меньше чем кол-во вводимых цифр, все ок работает. просто исправь
C++
1
2
const int n = 9;
int i, j, temp, mas[n];
вместо
C++
1
int n=8, i, j, temp, mas[8];
0
Почтальон
Модератор
582 / 520 / 104
Регистрация: 22.03.2015
Сообщений: 3,619
Завершенные тесты: 1
21.04.2015, 14:18 #6
Mikhail1990, размер массива = 8 элементов, чел и вводит 8 цифр, причем тут n = 9 ?
0
Mikhail1990
24 / 23 / 5
Регистрация: 22.03.2014
Сообщений: 265
21.04.2015, 14:23 #7
Цитата Сообщение от ChingizBat Посмотреть сообщение
3 5 1 0 8 -7 3 1 -8
== 9 Почтальен,
0
Почтальон
Модератор
582 / 520 / 104
Регистрация: 22.03.2015
Сообщений: 3,619
Завершенные тесты: 1
21.04.2015, 14:44 #8
У пользователя в коде вот что:
C++
1
2
3
4
5
int n=8, i, j, temp, mas[8];
    cout << "Input array:" << endl;
    for (i=0; i<n; i++){
        cin >> mas[i];
    }
Итого ввод только 8 элементов, если учесть что n=8 и i<n

Добавлено через 1 минуту
Вообщем ТС нужно покурить индексы , он сам походу запутался, или просто не хочет понимать про что мы
И еще разобраться, какой из массивов идет для выхода.
0
21.04.2015, 14:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2015, 14:44
Привет! Вот еще темы с решениями:

Распечатать все элементы массива до первого встретившегося отрицательного элемента
Ввести с клавиатуры массив из N вещественных чисел. Распечатать: a. все...

Найти сумму индекса элемент массива после первого отрицательного элемента
Найти сумму индекса элемент массива расположенных после первого отрицательного...

Найти произведение и количество элементов массива, расположенных до первого отрицательного элемента
окунулся в с++ буквально неделю назад и много ещё не понимаю. может кто помочь....

Написать программу нахождения первого отрицательного элемента одномерного числового массива
пропустил тему не могу сообразить... есле кто то может написать программу,...


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

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

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