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

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

21.04.2015, 13:05. Просмотров 239. Ответов 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, что не так?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2015, 13:05
Ответы с готовыми решениями:

Найти номер минимального по модулю элемента массива и сумму модулей после первого отрицательного элемента
1.В одномерном массиве, состоящем из n вещественных элементов, вычислить:...

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

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

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

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

7
Почтальон
Модератор
729 / 606 / 123
Регистрация: 22.03.2015
Сообщений: 4,138
Завершенные тесты: 2
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
Сообщений: 113
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
27 / 26 / 6
Регистрация: 22.03.2014
Сообщений: 277
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
Почтальон
Модератор
729 / 606 / 123
Регистрация: 22.03.2015
Сообщений: 4,138
Завершенные тесты: 2
21.04.2015, 14:18 6
Mikhail1990, размер массива = 8 элементов, чел и вводит 8 цифр, причем тут n = 9 ?
0
Mikhail1990
27 / 26 / 6
Регистрация: 22.03.2014
Сообщений: 277
21.04.2015, 14:23 7
Цитата Сообщение от ChingizBat Посмотреть сообщение
3 5 1 0 8 -7 3 1 -8
== 9 Почтальен,
0
Почтальон
Модератор
729 / 606 / 123
Регистрация: 22.03.2015
Сообщений: 4,138
Завершенные тесты: 2
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

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

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

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


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

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

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