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

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

01.12.2011, 21:52. Просмотров 1923. Ответов 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++):

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

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

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

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

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

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

13
diman94x
5 / 5 / 2
Регистрация: 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
2545 / 1310 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
01.12.2011, 22:08 #3
diman94x, похоже на удаление из строки s все вхождения строки k.
1
PointsEqual
ниначмуроФ
838 / 522 / 110
Регистрация: 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 / 2
Регистрация: 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
ниначмуроФ
838 / 522 / 110
Регистрация: 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
ниначмуроФ
838 / 522 / 110
Регистрация: 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
Эксперт С++
4232 / 2206 / 203
Регистрация: 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
ниначмуроФ
838 / 522 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
01.12.2011, 22:39 #11
Цитата Сообщение от Lothair Посмотреть сообщение
Программа на паскале та, которая удаляет из введенной строки все подстроки совпадающие с заданной.
Спасибо всем!
что то я не въехал в тему
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
01.12.2011, 22:44 #12
Цитата Сообщение от PointsEqual Посмотреть сообщение
что то я не въехал в тему
например, если s="abcxyzabc", t="abc", то после удаления получить s="xyz"
пост 10
0
PointsEqual
ниначмуроФ
838 / 522 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
01.12.2011, 22:45 #13
Цитата Сообщение от Thinker Посмотреть сообщение
например, если s="abcxyzabc", t="abc", то после удаления получить s="xyz"
я не про это)

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

ну ладно. ТС доволен
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 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
Привет! Вот еще темы с решениями:

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

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

Определить сколько раз в заданной последовательности меняется знак
Дана непустая последовательность из целых чисел, за которой следует 0....

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


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

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

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