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

Удаление чисел последовательности, которые стоят на нечетных местах - C++

Восстановить пароль Регистрация
 
Sahon
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
02.04.2011, 17:54     Удаление чисел последовательности, которые стоят на нечетных местах #1
Задача Del. Дано ряд последовательных натуральных чисел от n до m, из которого удаляют сначала все числа, которые стоят на непарных местах, и так делают до тех пор, пока не останется одно единственное число. Напишите программу, которая найдет это число.

Технические условия. Программа Del читает с клавиатуры числа n и m через пропуск (n<m<1000000). Программа выводит на экран единственное искомое число.

Вот код:

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
36
37
#include <iostream>
using namespace std;
int main ()
{
    int n, m, N, a;
    int counter=0;
    do {cin >> n;}
    while ((n>=1000000) && (n=0));
    do {cin >> m;}
    while (m <= n);
    N = m-n+1;
    int mas [N];
    mas[0] = n;
    for (a = 1; a < N; a++)
        mas[a] = mas[a-1]++;
    while (mas[1])
    {
        for (a = 0; a < N; a++)
            {
            if (a % 2) mas[a] = 0;
            else
                {
                if (mas[a] == 0) continue;
                else 
                    {
                    counter++;
                    mas[a-counter]=mas[a];
                    mas[a]=0;
                    }
                }
            }
        counter = 0;
    }
    cout << mas[0];
    system ("pause");
    return 0;
}
В чем моя ошибка?

Добавлено через 22 часа 15 минут
Ну помогите, вам что, жалко?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2011, 17:54     Удаление чисел последовательности, которые стоят на нечетных местах
Посмотрите здесь:

C++ Напечатать сумму отрицательных элементов, которые стоят на парных местах в массиве
создать файл и найти наибольшее из чисел стоящих на нечетных местах C++
Найти сумму квадратов элементов последовательности, стоящих на нечетных местах C++
C++ Вывод чисел, стоящих на четных местах, в десятичной с.с., а чисел, стоящие на нечетных местах, как вещественных с одним знаком после запятой
C++ Вывести элементы массива, которые стоят на нечетных номерах по убыванию или возрастанию
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sahon
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
05.04.2011, 18:54  [ТС]     Удаление чисел последовательности, которые стоят на нечетных местах #2
Ну пожалуйста!
Saiberg
 Аватар для Saiberg
19 / 19 / 1
Регистрация: 23.09.2010
Сообщений: 193
05.04.2011, 18:58     Удаление чисел последовательности, которые стоят на нечетных местах #3
Ну помогите, вам что, жалко?
правильнее будет
Ну помогите, вам что, есть чем заняться?


P.S. людей обычно бесят темы, в которых встречаются словосочетания типа "помогите" "ну пожалуйста" "умаляю", прими к сведению.
Fafle
 Аватар для Fafle
34 / 34 / 4
Регистрация: 19.03.2010
Сообщений: 136
05.04.2011, 18:59     Удаление чисел последовательности, которые стоят на нечетных местах #4
Первая в 8й строке
C++
1
while ((n>=1000000) && (n==0));
а не
C++
1
while ((n>=1000000) && (n=0));
Добавлено через 1 минуту

Не по теме:

ща доем может еще чем пособлю

Sahon
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
05.04.2011, 19:06  [ТС]     Удаление чисел последовательности, которые стоят на нечетных местах #5
Цитата Сообщение от Saiberg Посмотреть сообщение
Ну помогите, вам что, жалко?
правильнее будет
Ну помогите, вам что, делать нефиг?


P.S. людей обычно бесят темы, в которых встречаются словосочетания типа "помогите" "ну пожалуйста" "умаляю", прими к сведению.

Не по теме:

Ыы, я добился того, что эту тему заметили, а то ее 3 дня почему-то никто не видел. Только после этого я добавил "Ну помогите, вам что, жалко?".



Добавлено через 4 минуты
Цитата Сообщение от Fafle Посмотреть сообщение
Первая в 8й строке
C++
1
while ((n>=1000000) && (n==0));
а не
C++
1
while ((n>=1000000) && (n=0));
Добавлено через 1 минуту

Не по теме:

ща доем может еще чем пособлю

Алгоритм надо объяснять? А то вроде на бумажке програнял программу, а вот на С++ написал и нифига оно не вычисляет.
Fafle
 Аватар для Fafle
34 / 34 / 4
Регистрация: 19.03.2010
Сообщений: 136
05.04.2011, 19:24     Удаление чисел последовательности, которые стоят на нечетных местах #6
давай уясним задачу, мы вводим с клавиатуры к примеру 10 чисел:
0 1 2 3 4 5 6 7 8 9
программа должна сначала удалить 1 3 5 7 9
потом 2 6
потом 4
потом 8
и выдать 0?
Sahon
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
05.04.2011, 19:32  [ТС]     Удаление чисел последовательности, которые стоят на нечетных местах #7
Цитата Сообщение от Fafle Посмотреть сообщение
давай уясним задачу, мы вводим с клавиатуры к примеру 10 чисел:
0 1 2 3 4 5 6 7 8 9
программа должна сначала удалить 1 3 5 7 9
потом 2 6
потом 4
потом 8
и выдать 0?
Нет, n и m - натуральные. Программа сама должна заполнить массив чисел от n до m. Например, 1 и 6:
1 2 3 4 5 6
удаляется 1 3 5, то есть массив: 2 4 6 0 0 0, затем удаляется 2 и 6, то есть массив: 4 0 0 0 0 0 и выводиться 4.

Counter (счетчик) сделан для сдвигания чисел, то есть не
0 2 0 4 0 6,
а 2 4 6 0 0 0
Fafle
 Аватар для Fafle
34 / 34 / 4
Регистрация: 19.03.2010
Сообщений: 136
05.04.2011, 20:01     Удаление чисел последовательности, которые стоят на нечетных местах #8
Цитата Сообщение от Sahon Посмотреть сообщение
Нет, n и m - натуральные. Программа сама должна заполнить массив чисел от n до m. Например, 1 и 6:
1 2 3 4 5 6
удаляется 1 3 5, то есть массив: 2 4 6 0 0 0, затем удаляется 2 и 6, то есть массив: 4 0 0 0 0 0 и выводиться 4.

Counter (счетчик) сделан для сдвигания чисел, то есть не
0 2 0 4 0 6,
а 2 4 6 0 0 0
Ок, сейчас напишу свой вариант, а потом попробуем твой разобрать

Добавлено через 22 минуты

Не по теме:

Ну могу тебя поздравить, суть задания ты выполнил(акцент был на алгоритм смещения как мне кажется)


У меня получилось вот такое
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>
using namespace std;
 
int main() {
    int n, m, num=0;
    cout << "Введите N\n";
    cin >> n;
    cout << "Введите M\n";
    cin >> m;
    const int size = m - n;
    int ar[size];
    for (int i = 0; n <= m; i++, n++) {
        ar[i] = n;
        cout << ar[i] << " ";
    }
    cout << endl;
    while (ar[1]) {
        for (int i = 0; i < size; i++) {
            if (i % 2)
                ar[i] = 0;
            else {
                if (ar[i] == 0)
                    continue;
                else {
                    num++;
                    ar[i - num] = ar[i];
                    ar[i] = 0;
                }
            }
        }
        num = 0;
    }
    cout << ar[0];
    cout<<endl;
}
Добавлено через 3 минуты
Главная ошибка
C++
1
int mas [N];
Размером массива пока что для тебя может быть только константное число,ну и с циклами ты намутил немного
Надеюсь помог, если что не ясно спрашивай
Sahon
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
05.04.2011, 20:06  [ТС]     Удаление чисел последовательности, которые стоят на нечетных местах #9
Цитата Сообщение от Fafle Посмотреть сообщение
Главная ошибка
C++
1
int mas [N];
Размером массива пока что для тебя может быть только константное число,ну и с циклами ты намутил немного
Надеюсь помог, если что не ясно спрашивай
Спасибо огромное!

C++
1
const int size = m - n;
Но тут у тебя есть ошибочка.
C++
1
const int size = m - n + 1;
Ведь при m = 6; n = 1 размер массива будет 6, а не 5. Но все-равно огромное спасибо!
Fafle
 Аватар для Fafle
34 / 34 / 4
Регистрация: 19.03.2010
Сообщений: 136
05.04.2011, 20:08     Удаление чисел последовательности, которые стоят на нечетных местах #10
эт да Я прост все о своих структурах думаю
О баранах, на всякий
напиши
C++
1
2
3
4
if(n==0)
const int size=m-n;
else
const int size=m-n+1;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2011, 20:16     Удаление чисел последовательности, которые стоят на нечетных местах
Еще ссылки по теме:

C++ Подсчитать суму четных чисел на нечетных местах и их количество
В бинарном файле поменять местами элементы, что стоят на парных местах с элементами, что стоят на непарных местах C++
C++ Сохранить все числа массива, которые стоят на четных местах, в другой массив.

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

Или воспользуйтесь поиском по форуму:
Sahon
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
05.04.2011, 20:16  [ТС]     Удаление чисел последовательности, которые стоят на нечетных местах #11
Цитата Сообщение от Fafle Посмотреть сообщение
эт да Я прост все о своих структурах думаю
О баранах, на всякий
напиши
C++
1
2
3
4
if(n==0)
const int size=m-n;
else
const int size=m-n+1;
Блин, вот почему-то опять программа выдает 0.
Yandex
Объявления
05.04.2011, 20:16     Удаление чисел последовательности, которые стоят на нечетных местах
Ответ Создать тему
Опции темы

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