Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разбиение программы на файлы (трудности с vector) https://www.cyberforum.ru/ cpp-beginners/ thread2229127.html
Возникли трудности при разбиении программы по файлам (прототипы в .h, реализация в .cpp). Думаю, проблема в функциях, которые содержат в качестве параметра вектор структур. Помогите) Текст...
C++ Как передать Правильно в функцию тип char* ?
ошибка происходит на 16 строчке кода в файле console application c++.cpp. Как ее исправить? В программе есть 4 файла: 1 std_lib_facilities.h /* std_lib_facilities.h */ /* simple...
C++ Вывод и сортировка структуры из файла https://www.cyberforum.ru/ cpp-beginners/ thread2229119.html
У меня есть текстовый файл, в котором данные представленны в таком виде: Марка Ла Бортовой номер Номер рейса Время посадки ТУ-154 Б-3726 1763 ...
C++ Вывод и сортировка структуры из файла У меня дан файл в котором данные находятся в таком формате : Марка Ла Бортовой номер Номер рейса Время посадки ТУ-154 Б-3726 1763 11:35 ... https://www.cyberforum.ru/ cpp-beginners/ thread2229116.html
C++ Угадать число размером до 10^18
Здравствуйте. Стоит задача в отыскании числа,которое загадала тестирующая система. На ввод подаются знаки:<,>,=. На вывод - числа соответственно.Написал #include <iostream> #include <cmath> using...
C++ Ошибка Constant expression required. Как исправить? Здравствуйте, разбирал этот пример. Вроде по скринам должен работать, но выскакивает ошибка Constant expression required в строках double a; double x; Как исправить? полный... https://www.cyberforum.ru/ cpp-beginners/ thread2229086.html
C++ Сравнение элементов массива и сдвиг (Ну или шифр Цезаря) using namespace std; int main() { setlocale(LC_ALL,"rus"); system("color 0C"); const int ARRSIZE = 50; int A; char H="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; char... https://www.cyberforum.ru/ cpp-beginners/ thread2229070.html C++ Определить, сколько в последовательности пар соседних взаимно простых чисел
Вводится последовательность из N целых положительных элементов. Определить, сколько в последовательности пар соседних взаимно простых чисел. Различные натуральные числа являются взаимно простыми,...
C++ Вычислить значение логической функции Вычислить значение логической функции: {(\hat{A}+2{\hat{C}}^{-1})}^{3}\vec{X}=5\hat{A}{\hat{C}}^{t}\vec{B} https://www.cyberforum.ru/ cpp-beginners/ thread2229032.html C++ Как в с++ сделать сниффер? http://64ip.com/l2/270816.html Вот сниффер, но он онлайн. Как такой же сделать, только у себя на компьютере? Сокеты? Или можно как-то связать этот сниффер с компьютером? https://www.cyberforum.ru/ cpp-beginners/ thread2229024.html
Goto C++
Вопрос следующий может ли goto прыгать вверх на метку? у меня в программе есть проверка решил её сделать с goto m1: cout << "To be 1-st player or 2-nd?" << endl; cin >> move; if ((move !=...
C++ Найти цифры, которые не встречаются ни в двузначных, ни в трехзначных числах последовательности Дана последовательность целых чисел. Найти все такие цифры, которые не встречаются ни в двузначных, ни в трехзначных числах. Как записать с помощью функции set_difference? https://www.cyberforum.ru/ cpp-beginners/ thread2228980.html
0 / 0 / 0
Регистрация: 15.04.2018
Сообщений: 1
0

Не работает часть кода с изменением динамического массива - C++ - Ответ 12308194

15.04.2018, 05:35. Показов 979. Ответов 2
Метки (Все метки)

Не работает функция изменения в массиве, которая спрашивает определенный индекс и изменяет числа слева и справа от этого индекса. при вводе индекса программа продолжает просить индекс. c++ изучаю примерно неделю, так что полный профан и заранее прошу прощения за глупость.
Вот весь код:
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#include <stdio.h>
#include <iostream>
#include <iomanip> 
using namespace std;
void initmas(int *p, int n)
 
{
    int *tp; // рабочий указатель (локальная переменная)
 
    for (tp = p; tp < (p + n); tp++)
 
        *tp = rand() % 5;  // заполняет случайными числами
}
void Pechatx(int** arr, const int N, const int M) {
    for (int i = 0; i<N; i++) {
        for (int j = 0; j<M; j++) {
            cout << arr[i][j] << '\t';
        }   cout << '\n';
    }
    delete[]arr;
}
 
void pechat(int *p, int n)
{
    int *tp;
    for (tp = p; tp < (p + n); tp++)
    {
        cout << *tp;
    }
    
}
void izmenenie(int *p, int n)
{
    int  s;
    int *tp;
    cout << "введите индекс" << endl;
    cin >> s;
    for (tp = p; tp < (p + s); tp++)
        if (*tp % 2 != 0)
    
            *tp--;
            
        
    for (tp = p; tp < (p + n),tp > (p + s); tp++)
        if (*tp % 2 == 0)
              
        
            *tp++;
        
        
 
    
}
 
int main()
{
    const int N = 10;
    int row = 10, col = 2;
    int chs[N];
    int **neche = new int*[row];   //Создание строк
    for (int i1 = 0; i1 < row; i1++)
    {
        neche[i1] = new int[col];  //Создание колонок для каждой строки
    }
 
    int **che = new int*[row];   //Создание строк
    for (int i2 = 0; i2 < row; i2++)
    {
        che[i2] = new int[col]; //Создание колонок для каждой строки
    }
    int i, s;
    initmas(chs, N);
    for (i = 0; i < N; i++)
    {
        if (chs[i] % 2 == 0)
        {
            s = chs[i];
            che[i][0] = s;
            che[i][1] = i;
        }
        else
        {
            neche[i][0] = chs[i];
            neche[i][1] = i;
        }
    }
    cout << "изначальный массив" << endl;
    pechat(chs, N);
    cout << '\n';
    cout << "четные числа и их индекс в изначальном массиве" << endl;
    Pechatx(che, row, col);
    izmenenie(chs, N);
    pechat(chs, N);
 
    return 0;
}
Вот сама функция
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void izmenenie(int *p, int n)
{
    int  s;
    int *tp;
    cout << "введите индекс" << endl;
    cin >> s;
    for (tp = p; tp < (p + s); tp++)
        if (*tp % 2 != 0)   
            *tp--;              
    for (tp = p; tp < (p + n),tp > (p + s); tp++)
        if (*tp % 2 == 0)             
            *tp++;
}


Вернуться к обсуждению:
Не работает часть кода с изменением динамического массива C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2018, 05:35
Готовые ответы и решения:

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

Почему не работает часть кода?
Всем хай! Почему не работает часть кода с 27 по 29 строчку, в файле с функциями, я получаю в...

Как работает эта часть кода?
element *el, *n_el; int i; n_el = (element *)malloc(sizeof(element)); printf(&quot;Vvedite FIO:...

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

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.04.2018, 05:35
Помогаю со студенческими работами здесь

Отрицательная часть динамического массива
Подскажите пожалуйста решение следующей проблемы: //задаю массив f : array of Float; ......

Не работает часть кода
program Nervnyaya_Kletka; var A, B, I, D, F, K, G, X, Z: longint; S1, C: string; begin...

Не работает часть кода
по какой-то причине не работает часть кода, ошибок я не замечаю, но код не хочет работать, в чём...

Не работает часть кода
String test = str.replaceAll(&quot;Сумма(1,2)&gt;&quot;, &quot;sum(1,2);&quot;); Не заменяет в переменной str String...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru