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

Добавить после первого четного элемента массива элемент с заданным значением - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Последовательные контейнерные классы http://www.cyberforum.ru/cpp-beginners/thread319664.html
Составить программу, используя последовательные классы стандартной библиотеки шаблонов С++, которая содержит текущую информацию о заявках на авиабилеты. Каждая заявка содержат: • пункт...
C++ Числа армстронга Подскажите где ошибка, результат выдает не верный. Подскажите пжл где не верно. #include <stdio.h> #include <conio.h> #include <math.h> int dwyxznach (int l) { int a,b,i1; a=b=l=0; http://www.cyberforum.ru/cpp-beginners/thread319662.html
Массивы объектов. Наследование C++
Здравствуйте! Скоро экзамен, а я никак не могу решить эту задачу, может кто-то поможет? Вот условие: Создать класс окружность, член класса - R. Предусмотреть в классе методы вычисления и вывода...
C++ Переполнение стэка при рекурсии
вот код: #include <iostream> using namespace std; void Vvod (int *A, int n) { for (int i=0;i<n;i++) { cin>>A; } }
C++ Список, непонятная ошибка http://www.cyberforum.ru/cpp-beginners/thread319587.html
Всем привет. У меня есть список, вроде все норм, но когда вызываю оператор сложения - run-time error почему-то, если не трудно, укажите где у меня ошибка. #include <iostream> #include <stdexcept>...
C++ Шахматная доска Даны координаты двух различных полей шахматной доски x1,x2,y1,y2(Целые числа лежащие в диапазоне от 1 до 8). Проверить истинность высказывания Король за один ход может перейти с одного поля на... подробнее

Показать сообщение отдельно
tylix
68 / 55 / 6
Регистрация: 10.06.2011
Сообщений: 149
15.06.2011, 14:39
Лишнее удалить
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 <ctime>
#include <cstdio>
#include <cstdlib>
#include <conio.h>
#include <cstring>
 
const int SIZE = 12; // размер массива
 
int main() {
    int mas[SIZE];
    int tmp[SIZE];
    int num;
    int ind;
 
    srand(time(NULL));
// п.1 п.2 ----------------
    for (int i = 0; i < SIZE; i++) {
        mas[i] = rand() % 100;
        printf("%3d ", mas[i]);
    }
// ------------------------
// п.3 --------------------
    printf("\nEnter num 1-%d: ", SIZE);
    scanf("%d", &num);
// проверка корректности вводимого номера элемента
    if (num < 0 || num > SIZE) {
        printf("Ne correctniy nomer");
        return 0;
    }
    num--; // из номера элемента в индекс массива
    memcpy(tmp, &mas[num+1], sizeof(int) * (SIZE - num - 1));
    memcpy(&mas[num], tmp, sizeof(int) * (SIZE - num - 1));
    mas[SIZE-1] = 0;
 
// выводим массив после удаленного элемента
    printf("\nMassiv posle udalennogo elementa\n");
    for (int i = 0; i < SIZE - 1; i++) {
        printf("%3d ", mas[i]);
    }
    printf("\n");
// ------------------------
// 4) Добавить после первого четного элемента массива элемент со значением М[I-1]+2.
// ищем первый четный элемент массива
    ind = 0;
    while ((ind < SIZE-2) && (mas[ind] % 2) && mas[ind] != 0) ind++;
    if (ind == SIZE - 2) {
        printf("Net chetnogo elementa\n");
        return 0;
    }
 
    if (ind == 0) {
        printf("Ne vozmojno vipolnit' uslovie M[I-1]\n");
        printf("Vihod za predeli indeksov\n");
        return 0;
    }
 
    num = mas[ind - 1] + 2; // то значение которое будем вставлять
    ind++;
    memcpy(tmp, &mas[ind], sizeof(int) * (SIZE - ind - 1));
    memcpy(&mas[ind + 1], tmp, sizeof(int) * (SIZE - ind - 1));
    mas[ind] = num;
 
    for (int i = 0; i < SIZE; i++) {
        printf("%3d ", mas[i]);
    }
    getch();
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru