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

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

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

Массивы(Экзаменационная прога) - C++

14.04.2011, 18:53. Просмотров 308. Ответов 4
Метки нет (Все метки)

Помогите пожалуйста прога на экзамене попалась теперь надо сделать.
Задание: Дан одномерный целочисленный массив отсортированный в порядке не убывания необходимо вставить элемент x(вводиться пользователем) так чтобы порядок не изменился, СОРТИРОВКИ ИСПОЛЬЗОВАТЬ НЕЛЬЗЯ.
необходимо использовать указатели
вот мой код помогите пожалуйста исправить

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
#include<iostream>
using namespace std;
void main()
{
    setlocale(LC_ALL, "Russian_Russia.1251");
    const int N=100;
    int a[N], n, i, x;
    int *ptr;
    cout<<"Введите число x:\n";
    cin>>x;
    cout<<"Введите число элементов массива:\n";
    cin>>n;
    for(i=0; i<n; i++)
    {
        cout<<"Введите элемент массива:\n";
        cin>>a[i];
    }
    while(i<n)
    {
        if(a[i]<x)
            i++;
        else
        {
            *ptr=a[i];
            a[i]=x;
            a[i+1]=*ptr;
        }
    }
    cout<<"Обработанный массив:\n";
    for(i=0; i<n; i++)
        cout<<a[i]<<" ";
    system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2011, 18:53     Массивы(Экзаменационная прога)
Посмотрите здесь:

Исправьте прогу, пожалуйста! Прога про массивы.... C++
Прога на СИ!! C++
C++ Прога на строки
Прога на СИ!1!! C++
C++ СиАОД !!! Прога на С!!!
C++ Прога на структуры
C++ не работает прога
Прога к курсачу.. C++
Прога не компилируется(( C++
C++ Создать структуру «Экзаменационная ведомость»
C++ Вылетает прога
Структура «экзаменационная ведомость» C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
14.04.2011, 19:25     Массивы(Экзаменационная прога) #2
Цитата Сообщение от Lostmen Посмотреть сообщение
Дан одномерный целочисленный массив отсортированный в порядке не убывания необходимо вставить элемент x(вводиться пользователем) так чтобы порядок не изменился, СОРТИРОВКИ ИСПОЛЬЗОВАТЬ НЕЛЬЗЯ.
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
 
int main(){
  int a[] = {1, 4, 6, 12, 25, 67}, sz = sizeof(a) / sizeof(*a), x = 10;
  std::vector<int> vec(a, a + sz);
  vec.insert(std::lower_bound(vec.begin(), vec.end(), x), x);
  std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
  return 0;
}
Lostmen
0 / 0 / 0
Регистрация: 15.03.2011
Сообщений: 13
14.04.2011, 19:34  [ТС]     Массивы(Экзаменационная прога) #3
спасибо, но нельзя ли как-то по проще а то меня преподаватель убьёт за использование библиотек vector, iterator, algorithm и т.д. и операторов из них
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
14.04.2011, 20:01     Массивы(Экзаменационная прога) #4
1. Создаёшь новый массив на один элемент больше текущего.
2. Копируешь все элементы, которые меньше введённого.
3. Копируешь введённый элемент.
4. Копируешь все остальные элементы.
5. Удаляешь исходный массив.
Только так.
igorrr37
1636 / 1264 / 129
Регистрация: 21.12.2010
Сообщений: 1,927
Записей в блоге: 7
14.04.2011, 20:45     Массивы(Экзаменационная прога) #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdio.h>
 
int main(){
    int arr[100]={-30,-20,-10,0,10,20,30,40,50}, arrCountElements=9, key=-99, *p=arr+arrCountElements;
    for(; ; --p){
        if(*(p-1)<=key||p==arr){
            *p=key;
            break;
        }
        else {
            *p=*(p-1);
        }
    }
    for(p=arr; p<arr+arrCountElements+1; ++p){
        printf("%d ", *p);
    }
    return 0;
}
Yandex
Объявления
14.04.2011, 20:45     Массивы(Экзаменационная прога)
Ответ Создать тему
Опции темы

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