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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Измерение ускорения на микроконтроллере ADuC812 http://www.cyberforum.ru/cpp-beginners/thread319307.html
нужна Программа для измерения ускорения на микроконтроллере ADuC 812 (прошивка для акселерометра ADXL) с выводом информации на ЖК-экран 8*1
C++ Подскажите значения строчек в программе шифрования данных #include <stdio.h> #include <stdlib.h> #include <time.h> #define SIZE 18 int key; void crypt(char *s, char *t) { while ( *s != '\0') http://www.cyberforum.ru/cpp-beginners/thread318939.html
Кодирование и декодирование методом Голея C++
Ребята,помогите,нужна программка которая будет кодировать и декодировать информацию методом Голея(23,12,7)
Первый старт. C++
Прошу помочь. Писал раньше на С# , PHP. Щас перехожу на С++ и есть несколько вопросов. Я собираюсь писать игры с использованием API DirectX. Работаю на MVS2010. Библиотеки DirectX подключал. Вот следующие вопросы. Какой проект правильней всего создавать? Консольное приложение Win32 Проект Win32 Пустой проект
C++ Как найти сумму всех цифр числа? http://www.cyberforum.ru/cpp-beginners/thread317966.html
В частности нужна реализация проверки деления числа на 3, тоесть дано число 123456789 = 1+2+3+4+5+6+7+8+9=45, 45/3=15 => число составное. Или с помощью каких функции можно составить это
C++ Процесс не закрывается Проблема на 82ой строчке, второй параметр функции GetMessage(). Так как у меня создается одно окно второй параметр пишу 0. Но если будет несколько окон, то второй параметр должен быть идентефикатор окна. В моем случае это глобальный параметр MainWindowHandle. Если я его ставлю вместо нуля, запускаю программу, завершаю программу, она остается висеть в процессах(видно в Диспетчере задач). ... подробнее

Показать сообщение отдельно
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;
}
 
Текущее время: 13:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru