С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
profiq
3 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 29
#1

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

07.05.2013, 02:58. Просмотров 370. Ответов 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 - C++
Найти все парные трехзначные числа, сумма которых не превышает 10. Зарание спасибо :)

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

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

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

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

Найти в массиве количество четных чисел, сумма цифр в которых не превышает заданного числа P - C++
Найти количество четных чисел, сумма цифр в которых не превышает заданного числа P. При вводе Р=11 все считает правильно , но стоит...

3
zitxbit
88 / 740 / 75
Регистрация: 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
5428 / 4823 / 442
Регистрация: 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
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
07.05.2013, 06:49 #4
Это если по примеру.
0
07.05.2013, 06:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.05.2013, 06:49
Привет! Вот еще темы с ответами:

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

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

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

Удалить из файла все элементы, у которых стоимость превышает заданную - C++
Удалить все элементы, у которых стоимость (cost) превышает заданную. Как это сделать, подскажите пожалуйста. #include...


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

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

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