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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.75
qwerty2010
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 13
#1

Аргументы функции main() - C++

23.01.2012, 22:01. Просмотров 1173. Ответов 11
Метки нет (Все метки)

Написать программу для определения, чередуются ли в данной последовательности символы ‘+’ и ‘-‘, и сколько раз каждый из этих символов входит в эту последовательность. Собственно определение оформить как функцию.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2012, 22:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Аргументы функции main() (C++):

Аргументы функции main - C++
что значит определение оформить как функцию и сортировку оформить как функцию??

Аргументы функции main - C++
Здравствуйте, программисты! Написать программу для определения, есть ли среди символов этой последовательности символы, образующие слово...

Аргументы функции main - C++
Здравствуйте! Очень нужна Ваша помощь... Дано натуральное n. Для n, вводимого с клавиатуры получите действительную квадратную матрицу...

Аргументы для функции main() - C++
Я совершенно не понял, каким образом работает, допустим вот такой фрагмент программы: int main(int argc, char **argv) { if (argc>1) ...

Шифрование. Аргументы функции MAIN - C++
Привет всем:) Нужна помощь... С++... Аргументы функции MAIN. Фраза шифруется следующим образом: после первых двух символов...

обработать аргументы функции main - C++
Всем привет. В main() передается строка и число. Как их можно обработать? На это выскакивает ошибка char* str= new char; ...

11
odip
Эксперт С++
7158 / 3220 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
24.01.2012, 11:10 #2
У тебя есть куча вариантов
1) Подавать последовательность как аргументы командной строки
Получишь как argc, argv из main()

2) Запросить у пользователя строку
Прочитать с помощью функции fgets()

Добавлено через 7 минут
Не очень понял что именно тебе нужно
Если данные для анализа уже получены
то можно сделать такую функцию

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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
 
void do_calc( const char *str, int *is_chered, int *cnt_plus, int *cnt_minus );
 
 
int main( void ) {
 
char buf[100];
int is_chered;
int cnt_plus, cnt_minus;
 
 
strcpy( buf, "++--z++1++2--4--aaatttt" );
do_calc( buf, &is_chered, &cnt_plus, &cnt_minus );
printf( "cheredovanie: %s, kol-vo plusov: %d, kol-vo minusov: %d\n",
    (is_chered)? "EST" : "NET",
    cnt_plus,
    cnt_minus
);
return 0;
 
} /* main() */
 
 
 
void do_calc( const char *str, int *is_chered, int *cnt_plus, int *cnt_minus ) {
 
*is_chered= 0;
*cnt_plus= 6;
*cnt_minus= 6;
 
} /* do_calc() */
0
-=ЮрА=-
Заблокирован
Автор FAQ
24.01.2012, 11:19 #3
Цитата Сообщение от qwerty2010 Посмотреть сообщение
аргументы функции main()
Цитата Сообщение от qwerty2010 Посмотреть сообщение
Написать программу для определения, чередуются ли в данной последовательности символы ‘+’ и ‘-‘, и сколько раз каждый из этих символов входит в эту последовательность. Собственно определение оформить как функцию.
- причём тут аргументы main - ???Вы последовательность через командную строку передавать будете???
Какой язык С/С++???Уточняйте - напишем
0
qwerty2010
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 13
24.01.2012, 12:41  [ТС] #4
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- причём тут аргументы main - ???Вы последовательность через командную строку передавать будете???
Какой язык С/С++???Уточняйте - напишем
такое задание)) и язык именно с++, только начал его изучать)

Добавлено через 37 минут
Цитата Сообщение от odip Посмотреть сообщение
У тебя есть куча вариантов
1) Подавать последовательность как аргументы командной строки
Получишь как argc, argv из main()

2) Запросить у пользователя строку
Прочитать с помощью функции fgets()

Добавлено через 7 минут
Не очень понял что именно тебе нужно
Если данные для анализа уже получены
то можно сделать такую функцию

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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
 
void do_calc( const char *str, int *is_chered, int *cnt_plus, int *cnt_minus );
 
 
int main( void ) {
 
char buf[100];
int is_chered;
int cnt_plus, cnt_minus;
 
 
strcpy( buf, "++--z++1++2--4--aaatttt" );
do_calc( buf, &is_chered, &cnt_plus, &cnt_minus );
printf( "cheredovanie: %s, kol-vo plusov: %d, kol-vo minusov: %d\n",
    (is_chered)? "EST" : "NET",
    cnt_plus,
    cnt_minus
);
return 0;
 
} /* main() */
 
 
 
void do_calc( const char *str, int *is_chered, int *cnt_plus, int *cnt_minus ) {
 
*is_chered= 0;
*cnt_plus= 6;
*cnt_minus= 6;
 
} /* do_calc() */
если не трудно напишите код попроще, а то я только начинающий, и некоторые коды не понимаю
заранее спасибо
0
-=ЮрА=-
Заблокирован
Автор FAQ
24.01.2012, 13:20 #5
qwerty2010, тебе нужен ввод либо через командную строку либо если аргументов не передали то необходимо осуществить пользовательский ввод...Ща сделаем
0
-=ЮрА=-
Заблокирован
Автор FAQ
24.01.2012, 13:54 #6
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
ввод либо через командную строку либо если аргументов не передали то необходимо осуществить пользовательский ввод
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
#include <iostream>
#include <string>
using namespace std;
 
int main(int argc, char * argv[])
{
    int i;
    string input;
    cout<<"Your input is from : ";
    if(1 < argc)//Ââîäæ ÷åðå êîììГ*Г*Г¤Г*ГіГѕ ñòðîêó
    {
        cout<<"command line\n";
        for(i = 1; i < argc; i++)
            input += argv[i];//Ïðîñòî ñëåïëèâГ*Гѕ ГўГ±ГҐ Г*ðãóìåГ*ГІГ» Гў ñòðîêó
    }
    else//Åñëè ГЇГ*Г°Г*ìåòðîâ Г*ГҐ ïåðåäГ*ëè ââîäèì âðó÷Г*ГіГѕ
    {
        cout<<"handle\n";
        cout<<"Enter string : ";
        getline(cin,input);
    }
    cout<<"Input string : "<<input.c_str()<<endl;
    int nPlus = 0;
    int nMinus= 0;
    for(i = 0; i < input.length(); i++)
    {
        if(input[i] == '+')
            nPlus++;
        if(input[i] == '-')
            nMinus++;
    }
    if(nPlus < 1)
        cout<<"Input string not contain '+'\n";
    else
    if(nMinus < 1)
        cout<<"Input string not contain '-'\n";
    else
        cout<<" + is "<<(nPlus < nMinus ? " more " : " less ")<<"than - \n";
    system("pause");
    return 0;
}
0
Миниатюры
Аргументы функции main()   Аргументы функции main()  
qwerty2010
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 13
24.01.2012, 14:29  [ТС] #7
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
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
#include <iostream>
#include <string>
using namespace std;
 
int main(int argc, char * argv[])
{
    int i;
    string input;
    cout<<"Your input is from : ";
    if(1 < argc)//Ââîäæ ÷åðå êîììГ*Г*Г¤Г*ГіГѕ ñòðîêó
    {
        cout<<"command line\n";
        for(i = 1; i < argc; i++)
            input += argv[i];//Ïðîñòî ñëåïëèâГ*Гѕ ГўГ±ГҐ Г*ðãóìåГ*ГІГ» Гў ñòðîêó
    }
    else//Åñëè ГЇГ*Г°Г*ìåòðîâ Г*ГҐ ïåðåäГ*ëè ââîäèì âðó÷Г*ГіГѕ
    {
        cout<<"handle\n";
        cout<<"Enter string : ";
        getline(cin,input);
    }
    cout<<"Input string : "<<input.c_str()<<endl;
    int nPlus = 0;
    int nMinus= 0;
    for(i = 0; i < input.length(); i++)
    {
        if(input[i] == '+')
            nPlus++;
        if(input[i] == '-')
            nMinus++;
    }
    if(nPlus < 1)
        cout<<"Input string not contain '+'\n";
    else
    if(nMinus < 1)
        cout<<"Input string not contain '-'\n";
    else
        cout<<" + is "<<(nPlus < nMinus ? " more " : " less ")<<"than - \n";
    system("pause");
    return 0;
}
оо, мой компилятор выдал на эту программу аж целых 11 ошибок)
0
-=ЮрА=-
Заблокирован
Автор FAQ
24.01.2012, 14:36 #8
Цитата Сообщение от qwerty2010 Посмотреть сообщение
оо, мой компилятор выдал на эту программу аж целых 11 ошибок)
Действительно ооо -в чём пишем???

Не по теме:

PS:Всегда можно удалить отвратный компилятор и поставить нормальный...



Добавлено через 1 минуту
qwerty2010, предположу что Билдер используете???Тогда да код надо преобразовать.
Пишем пишем иначе помогать не буду...
0
MrCold
855 / 753 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
24.01.2012, 14:39 #9
-=ЮрА=-, а ведь вопрос был " чередуются ли в данной последовательности символы ‘+’ и ‘-‘" ?
0
-=ЮрА=-
Заблокирован
Автор FAQ
24.01.2012, 14:41 #10
Вот это думаю свободно пойдёт в Билдере
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
#include <stdio.h>
#include <string.h>
 
int main(int argc, char * argv[])
{
    int i;
    char input[2048] = {0};
    printf("Your input is from : ");
    if(1 < argc)//Ââîä ÷åðåç êîììГ*Г*Г¤Г*ГіГѕ ñòðîêó
    {
        printf("command line\n");
        for(i = 1; i < argc; i++)
            strcat(input,argv[i]);//Ïðîñòî ñëåïëèâГ*Гѕ ГўГ±ГҐ Г*ðãóìåГ*ГІГ» Гў ñòðîêó
    }
    else//Åñëè ГЇГ*Г°Г*ìåòðîâ Г*ГҐ ïåðåäГ*ëè ââîäèì âðó÷Г*ГіГѕ
    {
        printf("handle\n");
        printf("Enter string : ");
        scanf("%[^\n]",input);
    }
    printf("Input string : %s\n",input);
    int nPlus = 0;
    int nMinus= 0;
    for(i = 0; i < input[i] != '\0'; i++)
    {
        if(input[i] == '+')
            nPlus++;
        if(input[i] == '-')
            nMinus++;
    }
    if(nPlus < 1)
        printf("Input string not contain '+'\n");
    else
    if(nMinus < 1)
        printf("Input string not contain '-'\n");
    else
        printf(" + is %s than - \n",(nPlus < nMinus ? " more " : " less "));
    getchar();
    return 0;
}
Добавлено через 55 секунд
Цитата Сообщение от MrCold Посмотреть сообщение
-=ЮрА=-, а ведь вопрос был " чередуются ли в данной последовательности символы ‘+’ и ‘-‘" ?
тогда прочти задание

Цитата Сообщение от qwerty2010 Посмотреть сообщение
и сколько раз каждый из этих символов входит в эту последовательность.
0
MrCold
855 / 753 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
24.01.2012, 14:47 #11
-=ЮрА=-, спорить не собираюсь, но по моему это уже 2-я часть задания :
"и сколько раз каждый из этих символов входит в эту последовательность".
0
-=ЮрА=-
24.01.2012, 15:07     Аргументы функции main()
  #12

Не по теме:

MrCold, можешь подсказать смысл твоих постов???
Я с тобой и не собирался спорить если бы мне не написал вообще пропустил бы твой пост...

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

Аргументы командной строки в функции main - C++
Вопрос собственно говоря банальный в домашнем задании требуеться: параметр пронраммы передаеться через командную строку.Пример: ...

Как на это код добавить аргументы функции main? - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;iomanip&gt; #include &lt;cstdio&gt; #include &lt;Windows.h&gt; using namespace std; int...

Как задать параметры запуска (аргументы командной строки) функции main? - C++
Как их задать в процессе запуска? т.е. пользователь запускает приложение и указывает параметры запуска при этом. Где про них почитать...

аргументы main - C++
int main() { } int main(int argc, char **argv) { }


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

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

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