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

По текстовым файлам и строкам - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Иконка в SDL http://www.cyberforum.ru/cpp-beginners/thread348244.html
Скажите пожалуйста почему не ставится иконка? Вроде все по науке написано SDL_WM_SetIcon(SDL_LoadBMP("icon.bmp"), 0);
C++ Сетевая библиотека ACE Доброго времени суток. Есть ли в интернете русская документация по сетевой библиотеки ACE? Начиная с азов. http://www.cyberforum.ru/cpp-beginners/thread348243.html
Вычислить сумму произведений всех троек соседних чисел массива C++
Дан одномерный числовой массив A из n элементов. Вычислить сумму произведений всех троек соседних чисел. Вот на паскале const n=10; var a:arrayof integer; i,j,sum:longint; begin writeln('Исходный массив:'); sum:=0; for i:=1 to n do
C++ Исходники клиент-сервер?
Народ всем привет... скинте кому не сложно плиз листинг простейшего консольного рабочего клиент серврного приложения... мож у кого завалялся... тока обезательно на c++ не на с
C++ Подскажите почему может появляться ошибка: "неразрешенный внешний символ "_SDL_..."" http://www.cyberforum.ru/cpp-beginners/thread348179.html
Привет всем =) Скажите пожалуйста почему у меня пишет: 1>SDL.obj : error LNK2001: неразрешенный внешний символ "_SDL_CreateCursor" 1>SDL.obj : error LNK2001: неразрешенный внешний символ "_SDL_Init" 1>SDL.obj : error LNK2001: неразрешенный внешний символ "_SDL_GetError" 1>SDL.obj : error LNK2001: неразрешенный внешний символ "_SDL_SetVideoMode" 1>SDL.obj : error LNK2001: неразрешенный...
C++ Из паскаля в С++ Начал С++ недавно изучать. Школе писал на паскале. Вот исходник никак немогу перевести на С++. Через for & while по провал не получается. Как мне переписать цикл? var n, n3, n5, k: integer; begin write('Введите сумму(>7) n='); readln(n); k := 0; for n3 := 0 to (n div 3) do for n5 := 0 to (n div 5) do begin if n3 * 3 + n5 * 5 = n then writeln(n3, ' трешки и ', n5, '... подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
05.09.2011, 16:16     По текстовым файлам и строкам
Цитата Сообщение от lexflax Посмотреть сообщение
Задана последовательность идентификаторов, разделенных сериями пробелов. Последовательность задана строкой символов (string) заканчивается символом ‘*’.
2.Найти длину такого первого идентификатора в котором произведение всех четных цифр максимально. А можно листинг для решения этой задачи по проще написать?
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
#include <windows.h> //malloc, GetLastError, strerror, system
#include <string.h>  //strtok
#include <stdio.h>   //i/0
 
unsigned long ProizvChetnihCifr(char * str);
 
int main()
{
    char delim[] = "*";//Строка разделителей, т.е разделителями могут быть и другие символы
    //в конктреном случае строка всего из 1-го символа, т.к. разделитель по условию '*'
    char * str,*buf;
    unsigned long sLen, proizved = 0, mproizved = 0;
    FILE * f = fopen("text.txt","rb+");
    if(!f)
        printf("Error open TEXT.TXT:\r\n%s\r\n",strerror(GetLastError()));
    else
    {
        fseek(f,0,SEEK_END);
        sLen = ftell(f);
        fseek(f,0,SEEK_SET);
 
        if(!(str = (char *)malloc(sLen + 1))) //str = длина файла + '\0'
            printf("Error allocation memery:\r\n%s\r\n",strerror(GetLastError()));
        else
        {
            fread(str,sLen,1,f);
            str[sLen] = '\0';
            buf = strtok(str,delim);//Разбиваем строку на токены
            while(buf)
            {
                if(mproizved < (proizved = ProizvChetnihCifr(buf)))
                {
                    mproizved = proizved;
                    sLen = strlen(buf);
                }
                buf = strtok(NULL,delim);
            }
            printf("Dlinna max identificatora : %u\r\n",sLen);
            printf("Proizvedenie chetnih v nem: %u\r\n",mproizved);
        }
        fclose(f);
    }
    system("pause");//Пауза до нажатия любой клавиши
    return 0;
}
 
unsigned long ProizvChetnihCifr(char * str)
{
    
    unsigned long ret = 1;
    unsigned long sLen = strlen(str);   
    for(int i = 0,chislo; i < sLen; i++)
    {
        if(isdigit(str[i]))
        {
            chislo = (int(str[i]) - int('0'));
            if(chislo % 2 == 0)
                ret *= chislo;
        }
    }
    return ret;
}
[Результат работы]
Dlinna max identificatora : 4
Proizvedenie chetnih v nem: 48
Для продолжения нажмите любую клавишу . . .

[Содержимое text.txt]
1234*5678*901256*12436 *654
 
Текущее время: 20:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru