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

Функция main - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ различия char* c new и без него http://www.cyberforum.ru/cpp-beginners/thread252668.html
Добрый день, пожалуйста разъясните в чем разница в программе если я с элементу типа (char*) присваиваю просто текст и если я выделяю динамическую память под текст через new, в принципе не особая разница в качестве текста, за исключением надо четко следить если была выделена память то ее надо освобождать оператором delete и не превышать выделенное число символов char* d1; d1 = "1234";...
C++ main.obj : error LNK2019: unresolved external symbol Класс Circle (круг). Класс хранит Декартовы координаты центра круга, а также значения точки, на кругу. Должны быть предусмотренные функции-элементы, которые вычисляют длину круга, площадь и диаметр. Компилятор : 1>main.obj : error LNK2019: unresolved external symbol "public: double __thiscall circle::ploshcha(void)" (?ploshcha@circle@@QAENXZ) referenced in function _main 1>main.obj : error... http://www.cyberforum.ru/cpp-beginners/thread252664.html
C++ Извлечение из последовательности чисел цифру
Как в последовательности записанных подряд положительных целых чисел 012345... найти цифру с номером N если N<1000000 ? Пробовал создать массив из чисел но это очень емко и ответа программы приходится ждать минут 5-10
C++ Регулярные выражения на C++
Здраствуйте, возникла необходимость использовать регурные выражения в Си++. Первое что пришло в голову переписать все на Qt например, но это как-то глупо получается... Вообщем смысл в том, что я сейчас пока пишу по виндой, но потом может потребоваться портировать это под линуху... пока у меня весь код вполне портируемый без проблем. Поэтому прошу посоветовать какую-нибудь библиотеку или...
C++ Разбор строки из консоли и вопрос по g++ http://www.cyberforum.ru/cpp-beginners/thread252633.html
Всем доброго времени суток :) Недавно начал изучать C++ Вот есть пару вопросов... Первое - Как мне разобрать строку из консоли (например: "1 2 3" или "1, 2, 3", а потом распределить все это добро по переменным). Желательно не быдлокодить :) Чем больше вариантов, тем лучше ;) Второе - Скоро будут олимпиады по информатике. С компьютерами в некоторых школах проблемы (старые и зачуханные). К...
C++ Assemler вычислить вычислить заданное целочисленное выражение используя Assember. Ввод исходных данных и вывод результата выполнить в C++ (2*C+d/4+23)/(a*a-1); подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
06.03.2011, 17:09     Функция main
maest, это увеличит шансы того, что твоя программа вообще скомпилируется. И что-то не вижу я в твоей программе обработки массива argv

Как-то так:
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define CNT 10
#define GET(ARR, I) printf("Input " #ARR "[%02u]: ", (I) + 1), scanf("%lf", (ARR + (I)))
 
void usage(const char*);
size_t count(const double*, size_t);
double sum(const double*, size_t);
 
int main(int argc, char* argv[])
{
    size_t i, cntFlag = 0, sumFlag = 0;
    double array[CNT];
    
    if(argc == 1 || argc > 3)
    usage(*argv);
 
    for(i = 1; i < argc; ++i)
    {
    if(strcmp(argv[i], "-ko") == 0)
        cntFlag = 1;
    else if(strcmp(argv[i], "-s") == 0)
        sumFlag = 1;
    else
    {
        fprintf(stderr, "Unrecognized option: `%s'.\n", argv[i]);
        usage(*argv);
    }
    }
 
    for(i = 0; i < CNT; ++i)
    GET(array, i);
 
    if(cntFlag)
    printf("Count of negative elements: %u.\n", count(array, CNT));
 
    if(sumFlag)
    printf("Sum of magnitudes: %.2f.\n", sum(array, CNT));
        
    exit(0);
}
 
void usage(const char* name)
{
    fprintf(stderr,
        "Usage:\n%s -ko\n%s -s\n%s -ko -s.\n",
        name, name, name);
    exit(1);
}
 
size_t count(const double* a, size_t cnt)
{
    size_t i, c = 0;
    for(i = 0; i < cnt; ++i)
    if(a[i] < 0)
        ++c;
    return c;
}
 
double sum(const double* a, size_t cnt)
{
    size_t i, min;
    double s = 0;
    
    for(min = 0, i = 1; i < cnt; ++i)
    if(fabs(a[i]) < fabs(a[min]))
        min = i;
 
    for(++min; min < cnt; ++min)
    s += fabs(a[min]);
    return s;
}
 
Текущее время: 01:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru