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

Не работает последний цикл функции interval - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как правильно вынести функции в методы? http://www.cyberforum.ru/cpp-beginners/thread1710279.html
Программа работает с двумя текстовыми файлами, создает массив объектов из двух объектов(в первом- строчки из первого файла, во втором- второго). Всё работает. Осталось сделать так, чтобы код соответствовал концепции ООП, т.е. внести поправки + где я память не освободил? модуль array.h с описанием класса: #pragma once #include "strings.h" class StringArray{ char **items; int...
C++ Найти среднее арифметическое наибольшего и наименьшего элементов матрицы Дана действительная матрица размера 6x7. Найти среднее арифметическое наибольшего и наименьшего значений ее элементов http://www.cyberforum.ru/cpp-beginners/thread1710257.html
C++ В интервале найти натуральные числа равные кубу суммы своих цифр
В заданном интервале найти все натуральные числа, равные кубу суммы своих цифр.
Не правильная индексация строк C++
Создаю массив объектов, отдельно считываю строки и записываю в этот массив, но есть проблема. есди строки 4, то он нулевому элементы ничего не присваивает, а присваивать начинает только с первого индекса. int main() { StringArray **mass; mass = new StringArray*; int count_row_1; int count_row_2; FILE *source_1 = fopen("1.txt","r");
C++ В массиве найти сумму элементов кратных данному http://www.cyberforum.ru/cpp-beginners/thread1710254.html
В массиве a занесены натуральные числа. Найти сумму тех элементов, которые кратны данному k.
C++ Задача из книги Дейтел-а не могу суть задания уловить Привет, всем! Хочу спросить вот о чём: в книге Дейтел Х. Дейте П. есть задача Упражнения с 6.35 по 6.37 были посвящены разработке компьютерных про* грамм для обучения учеников младших классов умножению. В данном упражне* нии попытайтесь их усовершенствовать. а) Модифицируйте программу так, чтобы дать возможность пользователю ввести уровень своих возможностей. Первый уровень означает, что... подробнее

Показать сообщение отдельно
DenKG
0 / 0 / 0
Регистрация: 23.12.2015
Сообщений: 158
13.04.2016, 08:02     Не работает последний цикл функции interval
Объясните, в чем проблема )
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream>
#include <ctime>
using namespace std;
void func(int A[], int C, int *f, int *s, int);
void interval(int, int, int*, int);
int main() {
    setlocale(LC_ALL, "russian");
    int  *A, n;
    int  C, f, s, m, a, b, B = 0;
    cout << "Введите размер динамического массива: ";
    cin >> m;
    A = new int[m];
    cout << "Введите число: ";
    cin >> C;
    srand(time(0));
    cout << "Элементы массива: ";
    for (int i = 0; i < m; i++) {
        A[i] = -10 + rand() % 20;
        cout << A[i] << " ";
    }
    cout << endl;
    func(A, C, &f, &s, m);
    cout << "Количество элементов, меньших заданного числа: " << f << endl;
    cout << "Сумма элементов, расположенных после первого положительного элемента, равна: " << s << endl;
    cout << "Введите интервал:";
    cin >> a >> b;
    interval(a, b, A, B);
    system("pause");
    return 0;
}
void func(int A[], int C, int *f, int *s, int m) {
    int p = 0, index;
    *s = 0;
    for (int i = 0; i < m; i++)
        if (A[i] < C)
            p++;
    *f = p;
    for (int i = 0; i < m; i++) {
        if (A[i] > 0) {
            index = i;
            break;
        }
    }
    for (int i = index + 1; i < m; i++)
        *s += A[i];
}
 
void interval(int a, int b, int *A, int m)
{
    int *B;
    B = new  int[m];
    for (int i = a; i <= b; i++) {
        cout << A[i] << " ";
        B[i] = A[i];
    }
    cout << endl;
 
 
//Доходя до этого цикла компилятор просто отказывается его проверять
    for (int i = 0; i < m; i++) 
    {
    if (A[i] == B[i]) {
    cout << "";
    }
    else cout << A[i];
    }
    delete[] A;
}
Добавлено через 9 минут
Текст самой задачи:
В одномерном массиве, состоящем из n вещественных чисел, вычислить:
а) количество элементов массива, меньших С;
б) сумму положительных элементов, расположенных после первого положительного элемента.
Преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых лежит в интервале [a, b], а потом – все остальные.
Программа должна быть составлена с использованием функций.
P.S.: в целом всё работает, но из-за неработающего последнего цикла функции interval последнее задание решено не полностью.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 15:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru