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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
barmin15
0 / 0 / 0
Регистрация: 02.03.2011
Сообщений: 8
#1

Исправьте мне ошибки! - C++

25.01.2012, 11:53. Просмотров 484. Ответов 11
Метки нет (Все метки)

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
#include <iostream>
#include <conio.h>
#include <string.h>
#include <windows.h>
#include <iomanip>
#include <math.h>
using namespace std;
char str[81];
char ch;
int i = 0;
       
int main()
{
   SetConsoleCP(1251);
   SetConsoleOutputCP(1251);
   do
   {
       /*char str[81];
       char ch;
       int i = 0;
       */
       cout << "Введите строку символов: \n" ;
    {
        if (ch == '-' || ch >= '0' && ch <= '9')
        {
            str[i] = ch;
            cout << str[i++];
        }
        else if (ch == '\b')
        {
            i--;
            cout << "\b \b";
        }
    }
    str[i] = '\0';
    int count = 0;
    for (int z = 0;z < strlen(str);z++)
    {
        if (str[z] == '-') 
        count++;
    }
    cout << "Количество минусов в строке: " << count<<endl;
   } while (_getch()!=27);
    return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!


Добавлено через 5 минут
программа должна считывать строку символов, содержащую только числа и подсчитывает количество знаков "минус" в строке
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2012, 11:53     Исправьте мне ошибки!
Посмотрите здесь:

Исправьте мне ошибки в коде - C++
Привет всем... посмотрите пожалуйста правильно я написал программу? Пример 1. #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include...

исправьте ошибки - C++
Задание прикрепил, 1 вариант. Вот такой код набрал, как описывает задание, но выдает ошибки, что делать не понимаю. ...

Исправьте ошибки - C++
На 10, 12, 16, 18 строках K, p, N, K соответственно, выдаёт was not declared in this scope. Помогите исправить. #include &lt;iostream&gt; ...

Исправьте ошибки - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void main () { int N,M; int min=0, i, j;//переменные для цикла ...

исправьте ошибки в игре - C++
Всем доброго времени суток. Прошу помощи: 1) Помогите сделать так, если я захожу в пункт меню (Enter'om), то потом не могу пользоваться...

Исправьте пожалуйста ошибки - C++
Есть задача: создать массив данных о студентах группы. Записать имя, фамилию, год рождения каждого студента, оценки по пяти экзаменах. В...

исправьте ошибки в коде - C++
1. В одномерном массиве, состоящем из n вещественных элементов, вычислить: • сумму отрицательных элементов массива; • упорядочить...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
25.01.2012, 11:54     Исправьте мне ошибки! #2
У вас в программе какой-то хаос творится. Напишите лучше задание.
barmin15
0 / 0 / 0
Регистрация: 02.03.2011
Сообщений: 8
25.01.2012, 11:54  [ТС]     Исправьте мне ошибки! #3
сама прога работает, но не вводится символы в консольное окно
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
25.01.2012, 11:56     Исправьте мне ошибки! #4
Цитата Сообщение от barmin15 Посмотреть сообщение
и подсчитывает количество знаков "минус" в строке
C++
1
size_t cnt = std::count_if(str.begin(), str.end(), [](int c) { return c == '-'; });
barmin15
0 / 0 / 0
Регистрация: 02.03.2011
Сообщений: 8
25.01.2012, 11:58  [ТС]     Исправьте мне ошибки! #5
Go, а куда надо вставить эту строчку?
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
25.01.2012, 12:01     Исправьте мне ошибки! #6
Цитата Сообщение от barmin15 Посмотреть сообщение
а куда надо вставить эту строчку?
не знаю. Наверное, снести все. Подключить нужные хедеры, а в главной функции всего три строчки: считывание строки, и подсчет минусов.
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
25.01.2012, 12:01     Исправьте мне ошибки! #7
go, а std::count чем не угодил?
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
25.01.2012, 12:03     Исправьте мне ошибки! #8
Цитата Сообщение от silent_1991 Посмотреть сообщение
go, а std::count чем не угодил?
Тоже не знаю. Почему-то в голове сразу такой алгоритм сложился. Вы правы, std::count лучше.
silent_1991
25.01.2012, 12:05
  #9

Не по теме:

Цитата Сообщение от go Посмотреть сообщение
Почему-то в голове сразу такой алгоритм сложился
Верю, у меня на днях тоже алгоритм ппц сложился. Тоже надо было что-то подсчитать, так я начисто забыл про std::count и использовал std::set () из-за std::set::count. Правда, у меня есть оправдание, я перед этим ночь не спал

barmin15
0 / 0 / 0
Регистрация: 02.03.2011
Сообщений: 8
25.01.2012, 12:06  [ТС]     Исправьте мне ошибки! #10
подскажите почему не вводятся символы в запущенную программу???
silent_1991
Эксперт С++
4958 / 3034 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
25.01.2012, 12:09     Исправьте мне ошибки! #11
barmin15, потому что нигде нет строчки с вводом, очевидно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2012, 12:12     Исправьте мне ошибки!
Еще ссылки по теме:

исправьте ошибки в коде - C++
посмотрите пожалуйста что не так с кодом? вот задание:Дана целочисленная квадратная матрица. Определить: • количество строк, не...

исправьте ошибки в коде - C++
я понимаю что написал код не правильно исправьте пожалуйста #include &lt;conio.h&gt; #include &lt;math.h&gt; #include &lt;iostream&gt; using...

Исправьте ошибки в программе - C++
Программа:Нужно ввести 2 числа и программа должна посчитать их сумму,частное,разделить,умножить и если в знаменателе будет &quot;0&quot;, программа...

Массивы(исправьте ошибки) - C++
Ошибка с массивом X, вот код: #include&lt;iostream.h&gt; #include&lt;math.h&gt; void main() {const int N=5; int i,k; int X; ...

Исправьте ошибки в коде - C++
#include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;locale.h&gt; int main() { float a,b,c,x; float result;


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

Или воспользуйтесь поиском по форуму:
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
25.01.2012, 12:12     Исправьте мне ошибки! #12
Цитата Сообщение от barmin15 Посмотреть сообщение
подскажите почему не вводятся символы в запущенную программу???
Если верить Вашему коду, то потому...
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <algorithm>
#include <string>
 
int main()
{
    std::string str;
    std::getline(std::cin, str);
    std::cout << "Count '-'  = " << std::count(str.begin(), str.end(), '-') << std::endl;
    std::system("pause");
    return 0;
}
Как вариант.
Yandex
Объявления
25.01.2012, 12:12     Исправьте мне ошибки!
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru