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

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

Войти
Регистрация
Восстановить пароль
 
Lostmen
0 / 0 / 0
Регистрация: 15.03.2011
Сообщений: 13
14.04.2011, 18:53     Массивы(Экзаменационная прога) #1
Помогите пожалуйста прога на экзамене попалась теперь надо сделать.
Задание: Дан одномерный целочисленный массив отсортированный в порядке не убывания необходимо вставить элемент 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++
 Аватар для asics
2841 / 1778 / 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++
 Аватар для Deviaphan
1285 / 1219 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
14.04.2011, 20:01     Массивы(Экзаменационная прога) #4
1. Создаёшь новый массив на один элемент больше текущего.
2. Копируешь все элементы, которые меньше введённого.
3. Копируешь введённый элемент.
4. Копируешь все остальные элементы.
5. Удаляешь исходный массив.
Только так.
igorrr37
 Аватар для igorrr37
1600 / 1228 / 121
Регистрация: 21.12.2010
Сообщений: 1,875
Записей в блоге: 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     Массивы(Экзаменационная прога)
Ответ Создать тему
Опции темы

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