Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 27.03.2016
Сообщений: 4

Массив: Сохранение введенных с клавиатуры положительных чисел

27.03.2016, 23:42. Показов 2238. Ответов 6

Студворк — интернет-сервис помощи студентам
1. Пользователь вводит в программу через консоль последовательность чисел. Каждое число начинается с новой строки. Если число положительное, оно заносится в память. Если число отрицательное - последнее введенное число удаляется из памяти. Если удалять нечего, выводится сообщение об ошибке и продолжается ввод. Если число равно 0, последовательность завершается. После каждой операции ввода программа выводит на экран текущее содержимое накопленной последовательности через пробел на отдельной строке.

Пример ввода:
1 <Enter>
2 <Enter>
3 <Enter>
-1 <Enter>
0 <Enter>
Пример вывода:
1
1 2
1 2 3
1 2
Напишите код, пожалуйста. 2 дня ничего не могу сделать.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.03.2016, 23:42
Ответы с готовыми решениями:

Вывести на экран сумму и среднее арифметическое последовательности положительных чисел, введенных с клавиатуры
Доброго времени суток. Помогите пожалуйста с написанием программы. &quot;Найти и вывести на экран сумму и среднее арифметическое...

Ввести с клавиатуры массив из N чисел (N также вводится с клавиатуры). Найти наименьший из его положительных элементов.
Ввести с клавиатуры массив из N чисел (N также вводится с клавиатуры). Найти наименьший из его положительных элементов. Начиная от этого...

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

6
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
28.03.2016, 00:50
Лучший ответ Сообщение было отмечено Владислав123321 как решение

Решение

Совсем совсем так плохо?

Добавлено через 15 минут
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
#include <iostream>
#include <vector>
using namespace std;
 
int main()
{
    int choice;
    vector<int> arr;
    cout<<"Введите числа"<<endl;
    while(true)
    {
        cout<<"число:";
        cin>>choice;
        if(choice<0&&arr.size()==0)
            cout<<"Ошибка!!!Удалять нечего"<<endl;
        else if(choice<0)
            arr.pop_back();
        else if(choice>0)
            arr.push_back(choice);
        else
            break;
        for(int i=0;i<arr.size();i++)
            cout<<arr.at(i)<<" ";
        cout<<endl;
    }
    return 0;
}
1
68 / 68 / 37
Регистрация: 26.10.2013
Сообщений: 198
28.03.2016, 01:09
Задокументированный цикл делает тоже самое, что и следующий за ним. Просто в случае, если второй цикл будет непонятен и надо что-то попроще в коде оставить.
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
#include <iostream>
#include <vector>
#include <stdlib.h>
 
using namespace std;
 
void display(vector <int> box);
 
void main() {
    vector <int> box;
    box.reserve(5);
    int num;
    do {
        cin>>num;
        if(num > 0) {
            box.push_back(num);
            display(box);
        }
        if(num < 0) {
            if(box.size()) {
                box.pop_back();
                display(box);
            }
            else cout<<"Error! Container is empty!";
        }
    }
    while (num);
    display(box);
}
 
void display(vector <int> box) {
    system("cls");
    //for(int i = 0; i < box.size(); i++) cout<<box[i]<<" ";
    for(auto it = begin(box); it != end(box); it++) cout<<*it<<" ";
    cout<<endl<<endl;
}
1
0 / 0 / 0
Регистрация: 27.03.2016
Сообщений: 4
28.03.2016, 01:26  [ТС]
Спасибо большое, всё работает)
0
55 / 56 / 34
Регистрация: 29.12.2012
Сообщений: 478
28.03.2016, 01:34
RQdan, Мысыль про
C++
1
do { }while (num);
мне понравилась))))но
C++
1
 display(box);
надо было в цикл кинуть.
1
0 / 0 / 0
Регистрация: 27.03.2016
Сообщений: 4
28.03.2016, 06:31  [ТС]
А можно сделать не через вектора, а с помощью массивов?

Добавлено через 3 часа 30 минут
Все, я сделал сам.
0
68 / 68 / 37
Регистрация: 26.10.2013
Сообщений: 198
29.03.2016, 01:51
Цитата Сообщение от Черный мечник Посмотреть сообщение
надо было в цикл кинуть.
Да уж, было бы куда удобнее и правильно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.03.2016, 01:51
Помогаю со студенческими работами здесь

Дан массив А из 10 целых чисел введенных с клавиатуры, найти максимальный элемент и произведение элементов до него
помогите, пожалуйста! Дан массив А из 10 целых чисел введенных с клавиатуры, найти максимальный элемент и произведение элементов до...

С клавиатуры вводятся массив целых чисел. Проверить наблюдается ли в массиве чередование положительных и отрицательных элементов
С клавиатуры вводятся массив целых чисел. Проверить наблюдается ли в массиве чередование положительных и отрицательных элементов. ...

Сложить n пар чисел, введенных с клавиатуры
здравствуйте. задача состоит в том, чтобы сложить 12 пар чисел, которые идут столбцом через пробелы. числа нужно скопировать и вставить в...

Вычислить сумму чисел введенных с клавиатуры
Всем, доброго времени суток дело вот в чём не могу посчитать n чисел введенных с клавиатуры и посчитать сумму в цикле. Например: сначала...

Подсчет количества введенных с клавиатуры чисел
Реализовать ввод чисел с клавиатуры и подсчёт их длинны


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru