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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
Lothair
0 / 0 / 0
Регистрация: 01.12.2011
Сообщений: 3
#1

Написать программу, определяющую сколько раз меняется знак в последовательности чисел введенных с клавиатуры. - C++

01.12.2011, 21:52. Просмотров 1862. Ответов 13
Метки нет (Все метки)

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

И еще небольшая просьба. Есть программа на паскале, а нужно чтобы была в С++. Поможет кто-нибудь перевести? Вот на паскале:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program try;
var
s,k :string;
i :integer;
begin
writeln('Введите строку:');
readln(s);
writeln('Введите подстроку:');
readln(k);
for i:=1 to length(s) do
begin
if copy(s,i,length(k))=k then
delete(s,i,length(k));
end;
writeln('Результат:');
writeln(s);
end.
Если кто поможет - большое человеческое спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2011, 21:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать программу, определяющую сколько раз меняется знак в последовательности чисел введенных с клавиатуры. (C++):

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

Определить сколько раз меняется знак в последовательности чисел - C++
Нужна программа и блок-схема. Написать программу, определяющую сколько раз меняется знак в последовательности чисел, введенных с...

Разработать программу,которая определяет сколько раз меняется знак заданной целочисленной последовательности - C++
разработать программу,которая определяет сколько раз меняется знак заданной целочисленной последовательности.Количество элементов...

Дана последовательность ненулевых целых чисел, оканчивающаяся нулем. Определить, сколько раз в этой последовательности меняется знак - C++
Помогите решить задачи через цикл do _ while: 4) Дана последовательность ненулевых целых чисел, оканчивающаяся нулем. Определить, ...

Массив: Определить, сколько раз меняется знак в данной последовательности чисел, запомнить номера позиций, в которой происходит смена знака. - C++
Всем привет, помогите мне решить пара задач по c++ Учительница проверяет изучали ли мы этот метод решения задачи по этому прошу сделать...

Определить, сколько раз в последовательности меняется знак. - C++
Помогите пожалуйста с решением задачи: С клавиатуры вводится последовательность ненулевых целых чисел. Определить, сколько раз в этой...

13
diman94x
5 / 5 / 1
Регистрация: 13.06.2009
Сообщений: 67
01.12.2011, 22:07 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
 
int main()
{
    int i;
    string s,k;
    cout <<"Введите строку: ";
    cin >> s;
    cout <<"Введите подстроку: ";
    cin >> k;
    i=strlen(s);
}
дальше не знаю, паскаль забыл((
скажи что за программа то, я тебе напишу
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
01.12.2011, 22:08 #3
diman94x, похоже на удаление из строки s все вхождения строки k.
1
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
01.12.2011, 22:13 #4
как вариант)
массив заполняется вводом с клавиатуры

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
#include <iostream>
#include <vector>
#include <algorithm>
 
using namespace std;
 
/*
Написать программу, определяющую сколько раз меняется знак в последовательности чисел введенных с клавиатуры.
*/
 
class count_sign_s //: public unary_function<int, void>
{
public:
    count_sign_s() : last_element(), cnt() {}
 
    void operator()(int element)
    {
        if(   (element < 0) && (last_element > 0)
           || (element > 0) && (last_element < 0) )
        {
            ++cnt;
        }
 
        last_element = element;
    }
 
    operator int()
    {
        return cnt;
    }
 
private:
    int last_element;
    int cnt;
};
 
 
int main()
{
 
    vector<int> v = {1,2,-6,3,-7,-4,-2,5,-6,3,2,1,-9};  //7
 
    cout << for_each(v.begin(), v.end(), count_sign_s());
 
 
    return 0;
}
0
Lothair
0 / 0 / 0
Регистрация: 01.12.2011
Сообщений: 3
01.12.2011, 22:16  [ТС] #5
Программа на паскале та, которая удаляет из введенной строки все подстроки совпадающие с заданной.

Спасибо всем!
0
diman94x
5 / 5 / 1
Регистрация: 13.06.2009
Сообщений: 67
01.12.2011, 22:17 #6
Цитата Сообщение от PointsEqual Посмотреть сообщение
как вариант)
массив заполняется вводом с клавиатуры

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
#include <iostream>
#include <vector>
#include <algorithm>
 
using namespace std;
 
/*
Написать программу, определяющую сколько раз меняется знак в последовательности чисел введенных с клавиатуры.
*/
 
class count_sign_s //: public unary_function<int, void>
{
public:
    count_sign_s() : last_element(), cnt() {}
 
    void operator()(int element)
    {
        if(   (element < 0) && (last_element > 0)
           || (element > 0) && (last_element < 0) )
        {
            ++cnt;
        }
 
        last_element = element;
    }
 
    operator int()
    {
        return cnt;
    }
 
private:
    int last_element;
    int cnt;
};
 
 
int main()
{
 
    vector<int> v = {1,2,-6,3,-7,-4,-2,5,-6,3,2,1,-9};  //7
 
    cout << for_each(v.begin(), v.end(), count_sign_s());
 
 
    return 0;
}
Вы издеваетесь?))))) Не думаю что новички поймут))))
Можно же намного проще=))
1
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
01.12.2011, 22:23 #7
Цитата Сообщение от diman94x Посмотреть сообщение
Можно же намного проще=))
да, но вдруг ТС захочется так..)
+
ему надо С++ style
0
Lothair
0 / 0 / 0
Регистрация: 01.12.2011
Сообщений: 3
01.12.2011, 22:25  [ТС] #8
Компилятор показывает ошибку в этой строке: "vector<int> v = {1,2,-6,3,-7,-4,-2,5,-6,3,2,1,-9}; //7"
0
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
01.12.2011, 22:28 #9
Цитата Сообщение от Lothair Посмотреть сообщение
Компилятор показывает ошибку в этой строке
значит ваш компилятор не поддерживает/не включен новый стандрт

замени ту строку на последовательность
v.push_back(4);
v.push_back(-4);
v.push_back(4);
и тд
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
01.12.2011, 22:31 #10
Цитата Сообщение от soon Посмотреть сообщение
похоже на удаление из строки s все вхождения строки k.
В этом случае вот простой алгоритм:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <string.h>
#define N 1024
 
int main( )
{
    char s[N], t[N], *ps;
    int i, j, k, len;
    printf("s = "); fgets(s, N, stdin);
    printf("t = "); scanf("%s", t);
    len = strlen(t);
    ps = s;
    while (ps = strstr(ps, t))
       strcpy(ps, ps + len);
    puts(s);
    return 0;
}
2
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
01.12.2011, 22:39 #11
Цитата Сообщение от Lothair Посмотреть сообщение
Программа на паскале та, которая удаляет из введенной строки все подстроки совпадающие с заданной.
Спасибо всем!
что то я не въехал в тему
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
01.12.2011, 22:44 #12
Цитата Сообщение от PointsEqual Посмотреть сообщение
что то я не въехал в тему
например, если s="abcxyzabc", t="abc", то после удаления получить s="xyz"
пост 10
0
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
01.12.2011, 22:45 #13
Цитата Сообщение от Thinker Посмотреть сообщение
например, если s="abcxyzabc", t="abc", то после удаления получить s="xyz"
я не про это)

- сначала ему надо было знаки посчитать потом уже строки пошли

ну ладно. ТС доволен
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
01.12.2011, 22:47 #14
Цитата Сообщение от PointsEqual Посмотреть сообщение
- сначала ему надо было знаки посчитать потом уже строки пошли

Не по теме:

два в одном, как говорится)

0
01.12.2011, 22:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2011, 22:47
Привет! Вот еще темы с ответами:

Определить сколько раз меняется знак в последовательности - C++
Люди, помогите ... что то не могу с задачей разобраться!!! Дан массив не нулевых натуральных чисел. определить сколько раз меняется...

Определить, сколько раз в последовательности меняется знак - C++
Дана последовательность ненулевых целых чисел, оканчивающая нулем. Определить, сколько раз в этой последовательности меняется знак. C++, с...

Определить, сколько раз в последовательности меняется знак числа - C++
Помогите решить ТОЛЬКО с помощью циклов и условного оператора 1.Есть последовательность целых чисел, заканчивается нулем. Определить,...

Определить сколько раз в заданной последовательности меняется знак - C++
3) дана последовательность ненулевых целых чисел. Определить сколько раз в этой последовательности меняется знак. Например, в...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

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