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

Удалить из массива последний отриц. элемент - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ помогите переделать уже готовую, рабочую программу. Двумерный массив http://www.cyberforum.ru/cpp-beginners/thread412172.html
Сегодня сдать пытался работу, но меня заставили переделать программу и создать ее в двух файлах .сср. Я смутно представляю что надо. Толи вывести в один фаил ввод и обработку, а в другой вывод произведения не скалярного. Точно я не знаю всю эту работу. Так что прошу помощи. Вот программа #include <iostream> #include <time.h> using namespace std; int main() {
C++ С++ Разбор кода хэширования Md5 ктонибудь может объяснить смысловую нагрузку данной программы, что происходит! Я понимаю так, по функциям определение криптопровайдера хеширование, работа с буфером в который заносятся какие то данные, выведение хэша. поконкретнее ктонибудь может описать ? Хелпоните плз #include "stdafx.h" #pragma comment(lib, "crypt32.lib") #define HASH_BUFF_LEN 10*1024*1024 #include <tchar.h> http://www.cyberforum.ru/cpp-beginners/thread412167.html
Управление таймером C++
Создать программка для управления таймером с такими параметрами: R= 0 - 10 ; F(x)=y=((77-x)%200)*0.1+R+150 ; Частота=145.5 Гц;
C++ Очередь пеменять местами элементы
Вот задание: Поменять местами минимальный и первый элементы очереди. Минимальный и первый элемент найдены, но что-то не так. Помогите! #include <iostream.h> #include <stdlib.h> struct toch{ //n~i^c,a"a`?i` n~o`?o'e^o`o'?o' int inf;
C++ Функция для вычисления среднего роста http://www.cyberforum.ru/cpp-beginners/thread412143.html
помогите разобраться в чем дело,надо посчитать средний рост женщин, почему пишет что "rost" и "pol" не инициализированы, что в функции не так???указывает что проблема в 40 строке # include <iostream> # include <windows.h> # include <conio.h> const int N=2; struct ZAPIS
C++ Поиск наименьшего элемента массива #include<iostream.h> #include<conio.h> const n=5; char StrBuf; int i; int poshyk(int a, int NextIndex); void vved(int a); void main(void) подробнее

Показать сообщение отдельно
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
20.12.2011, 23:15     Удалить из массива последний отриц. элемент
Цитата Сообщение от krexx Посмотреть сообщение
Напишите пожалуйста программу полностью.
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
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
 
int main() {
 
    const int size = 10;
    int myArray[size];
    bool err = false;
    int x; // для сдвига массива впроаво
    int newSize; // пользователь может ввести меньше чем SIZE цифр
    int lastNegativIndex = -1; // у массива не бывает отрицательных индексов.
                               // поэтому если значение этой переменной
                               // останется равное -1 то отрицательных элементоа нет
 
    cout << "Please enter " << size << " digits separated by space\n>";
 
    //читаем цифры предоставленные пользователем и сразу проверяем есть ли отрицательные.
    //если есть то сохраняем индекс последнего встретившегося отрицательного элемента
    //выполнения цикла происходит пока не достигнут предел массива или не достигнут конец строки
    for (int i = 0; i < size && cin.peek() != '\n'; ++i) {
        //если от пользователя получен символ не являющийся целым числом то выходим из цикла
        //и сообщаем пользователю об ошибке
        if (!(cin >> myArray[i])) {
            err = true;
            break;
        }
        if (myArray[i] < 0) {
            lastNegativIndex = i;
        }
        newSize = i + 1;
    }
    if (err) {
        cout << "Provided number is incorrect" << endl;
    } else {
        //если найден отрицательный элемент
        if (lastNegativIndex > -1) {
            cout << "Last negative element is: " << myArray[lastNegativIndex] << endl;
            //удаляем его смещая все элемены справа от него на 1 в лево
            //на место последнего записываем 0
            for (int i = lastNegativIndex; i < newSize; ++i) {
                if (i == newSize - 1) {
                    myArray[i] = 0;
                } else {
                    myArray[i] = myArray[i + 1];
                }
            }
        } else {
            //выполняем смещение всех элементов массива в право на Х
            //сдвиг проще выполнять начиная с крайнего правого элемента
            cout << "Please provide the offset value ";
            if (cin >> x && x > 0) {
                for (int i = newSize - 1; i >= 0; --i) {
                    if (i < x) {
                        myArray[i] = 0;
                    } else {
                        myArray[i] = myArray[i - x];
                    }
                }
            }
        }
        //печатаем результат
        for (int i = 0; i < newSize; ++i) {
            cout << myArray[i] << " ";
        }
    }
 
    return 0;
}
если окно пропадает сразу то добавьте перед return 0; строку system("pause");
 
Текущее время: 16:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru