Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
3 / 0 / 0
Регистрация: 01.05.2013
Сообщений: 33
1

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

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

Author24 — интернет-сервис помощи студентам
Помогите найти ошибку.
Цикл должен удалять все первые элементы пар чисел сумма которых превышает 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.05.2013, 02:58
Ответы с готовыми решениями:

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

Циклы. Среди натуральных чисел от 1 до 100 найти все пары чисел, для которых их сумма равна их произведению и кол-во таких пар.
Среди натуральных чисел от 1 до 100 найти все пары чисел, для которых их сумма равна их...

Найти все пары чисел, для которых их сумма равна их произведению и количество таких пар
может есть какие-нибудь другие варианты? procedure TForm1.Button1Click(Sender: TObject); var i,j:...

Автоматически удалять в каталоге, указанном в командной строке, все подкаталоги, размер которых превышает 20 Мбайт
Написать пакетный файл, который автоматически удалял бы в каталоге, указанном в командной строке...

3
96 / 748 / 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
Миниатюры
Цикл должен удалять все первые элементы пар чисел сумма которых превышает 10  
2
5498 / 4893 / 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;
}
}
Миниатюры
Цикл должен удалять все первые элементы пар чисел сумма которых превышает 10  
1
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
07.05.2013, 06:49 4
Это если по примеру.
0
07.05.2013, 06:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.05.2013, 06:49
Помогаю со студенческими работами здесь

Количество подряд идущих нечетных натуральных чисел, начинающихся с 1, сумма которых не превышает чисел на 7
помогите найти количество подряд идущих нечетных натуральных чисел, начинающихся с 1, сумма которых...

Выбрать максимальное количество чисел, сумма которых не превышает P
Дан набор натуральных чисел и число P. Выбрать максимальное количество чисел, сумма которых не...

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

Вывести на экран все натуральные числа, сумма которых не превышает 100
вывести на экран все натуральные числа,сумма которых не превышает 100 Добавлено через 26 минут...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru