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

Цикл должен удалять все первые элементы пар чисел сумма которых превышает 10 - C++

07.05.2013, 02:58. Просмотров 395. Ответов 3
Метки нет (Все метки)

Помогите найти ошибку.
Цикл должен удалять все первые элементы пар чисел сумма которых превышает 10.
Например: 1 2 3 4 5 6 7 8 9 10
Результатом должно быть 1 2 3 4 6 8 10
n - размерность массива
C++
1
2
3
4
5
6
7
8
9
10
11
for(int j=1; j<=n; j++)
    {
 
        if((j%2==0)&&(arr[j]+arr[j+1]>10))
            {
                for(int s=j+1; s<n; s++)
                arr[s-1]=arr[s];
                j--;
                n--;
            }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2013, 02:58
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Цикл должен удалять все первые элементы пар чисел сумма которых превышает 10 (C++):

Вывести все комбинации из указанного набора чисел, сумма которых не превышает заданное число
Всем привет. Поставлена такая задача - предположим, что есть массив из трех...

Найти все парные трехзначные числа, сумма которых не превышает 10
Найти все парные трехзначные числа, сумма которых не превышает 10. Зарание...

Сжать массив, удалив из него все элементы модуль которых не превышает 1. Заполнить эти элементы нулями
Во время перестановки, когда первый 0 достигает конца массива, выскакивает...

Найти количество первых целых положительных чисел, сумма которых не превышает S
Найти количество первых целых положительных чисел, сумма которых не превышает...

Выбрать максимальное количество чисел в массиве, сумма которых не превышает заданное
Доброго времени суток!Помогите написать или найти готовую программу.Дан набор...

В начале массива расположить все элементы, модуль которых не превышает 1, а после них - все остальные
Ребят, помогите, пожалуйста! Нужно написать программу в С++ для решения задачи:...

3
zitxbit
89 / 741 / 279
Регистрация: 11.04.2012
Сообщений: 971
07.05.2013, 06:13 #2
Вариант 1:
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 <stdio.h>
#include <conio.h>
 
#define N 10
 
int main(int argc, char* argv[])
{
    int A[N] = { 3, 5, 1, 9, 8, 7, 6, 4, 2, 9 };
 
    for (int t = 0; t < N; t++)
        printf("%d ",A[t]);
 
    printf("\n");
 
    int i = 0;
    while (i < N-1)
    {
        if (A[i] + A[i+1] > 10)
        {
            for (int k = i; k < N; k++)
                A[k] = A[k+1]; 
            
            continue;
        }
 
        i++;
    }
 
    for (int m = 0; m < N; m++)
        printf("%d ",B[m]);
 
    return 0;
}
http://codepad.org/4XOy2ITN

Вариант 2:
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
#include <stdio.h>
#include <conio.h>
 
#define N 10
 
int main(int argc, char* argv[])
{
    int A[N] = { 3, 5, 1, 9, 8, 7, 6, 4, 2, 9 };
 
    for (int t = 0; t < N; t++)
        printf("%d ",A[t]);
 
    printf("\n");
    
    int k = 0, B[N] = { 0 };
    for (int i = 0; i < N-1; i++)
    {
        if (A[i] + A[i+1] <= 10) B[k++] = A[i];
        B[k] = A[i+1];
    }
 
    for (int m = 0; m < N; m++)
        printf("%d ",B[m]);
 
    _getch();
 
    return 0;
}
http://codepad.org/k1g8kxgi
2
Миниатюры
Цикл должен удалять все первые элементы пар чисел сумма которых превышает 10  
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
07.05.2013, 06:38 #3
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
38
#include <iostream>
using namespace std;
 
int main()
{
 int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
 int n = 10;
 int flag = 0;
 for(int j = 0; j < n; j++)
 {
     
    if((j % 2 == 0 && flag == 0) && (arr[j] + arr[j + 1] > 10))
     {
         for(int s = j + 1; s < n; s++)
            arr[s - 1] = arr[s];
 
         flag = 1;
         n--;
     }
     
     if((j % 2 != 0 && flag == 1) && (arr[j] + arr[j + 1] > 10))
     {
         for(int s = j + 1; s < n; s++)
            arr[s - 1] = arr[s];
 
         flag = 0;
         n--;
     }
 }
    for (int i = 0; i < n; i++)
        cout << arr[i] << ' ';
 
    cout << endl;
    cin.get();
 
    return 0;
}
}
1
Миниатюры
Цикл должен удалять все первые элементы пар чисел сумма которых превышает 10  
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
07.05.2013, 06:49 #4
Это если по примеру.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2013, 06:49
Привет! Вот еще темы с решениями:

Определить количество пар чисел сумма которых является простым числом
Написать програму которая по заданым N числам опредиляет количество пар, сумма...

Найти в массиве количество четных чисел, сумма цифр в которых не превышает заданного числа P
Найти количество четных чисел, сумма цифр в которых не превышает заданного...

Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых не превышает 1, а потом все остальные
привет всем) никак не могу придумать влгоритм для куска задачи:...

Найти количество первых целых положительных чисел, сумма которых не превышает S. Значение S вводить с клавиатуры.
Найти количество первых целых положительных чисел, сумма которых не превышает...


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

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

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