Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 14
1

Нужно сделать програму с строками СИ

28.12.2016, 16:24. Показов 594. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мне нужно написать последовательность строк, через .!?, найти самое длиное слово в этом тексте, и вывести эту строку большими буквами. Пробывал через strtok(), но он отрезает символы, а мне нужно потом вывести строку с символами
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.12.2016, 16:24
Ответы с готовыми решениями:

нужно сделать програму в С++
Дано натуральное число n. Выясните, сколько раз в нем встречается цифра A.

Нужно програму на С надо сделать д/з типа по обмену трёх валют USD,uah,eur!
Помогите пж с програмой на С надо сделать д/з типа по обмену трёх валют USD,uah,eur Пожалуйста...

Нужно написать програму в которой нужно определить суму двух 2D масивов
В програме нужно найти суму двух двумерных массивов... буду очень признателен

Написать програму нужно
Написать програму на мове С++ которая обчисливает умови: Вот первая умова:

3
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
28.12.2016, 18:44 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
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
#define DELIM " ,.!?\t\n"
 
int main(void) {
    char str[BUFSIZ] = "This is a string to check this program! alaalal";
    char res[BUFSIZ];
 
    strcpy(res, str);
 
    size_t curlen = 0, maxlen = 0;
    char* pw = NULL;
    for (char *ptr=strtok(str, DELIM); ptr; ptr=strtok(NULL, DELIM)) {
        curlen = strlen(ptr);
        if (curlen > maxlen) {
            maxlen = curlen;
            pw = ptr;
        }
    }
 
    if (pw != NULL) {
        for (char* ptr=pw; *ptr; ptr++) {
            *ptr = toupper(*ptr);
        }
        memmove(res+(pw-str), pw, strlen(pw));
    }
 
    printf("result: %s\n", res);  
    return 0;
}
1
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 14
28.12.2016, 19:11  [ТС] 3
shvyrevvg, ух, я только доделал свой код на костылях, а тут все так просто оказывается
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include <stdio.h>
#include <string.h>
#include <windows.h>
#define KR 400
 
int  zi=0, dzd[10], zd=0, di=0, dia[10];
char *mvz[100];
 
char *strtok_r(char*, const char*, char**);
void WriteToVariable(char*);
int DW(char*);
void ToUpperFunc(char*, int);
 
void main ()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    char DataString[300];
    char *token, *last;
    char* mvk[KR];
    int k, *pk[200], count=0, i=0, max=0;
    char buf[200];
    printf("Введіть послідовність речень:\n");
    for(k=0; k<KR; k++)
    {
        gets(buf);
        if(*buf=='\0') break;
        mvk[k]=(char*) malloc(strlen(buf)+1);
        strcpy(mvk[k], buf);
        pk[k]=mvk[k];
        token = strtok_r(mvk[k], ".!?", &last);
        while (token != NULL)
        {
            WriteToVariable(token);
            count++;
            token = strtok_r(NULL, ".!?", &last);
        }
    }
    for (i=0; i<count; i++)
        if (dia[i]>max)
            max=dia[i];
    char *rech;
    for (i=0; i<count; i++)
        if (dia[i]==max)
            rech=mvz[i];
        int krr=0;
    krr=strlen(rech);
    ToUpperFunc(rech, max);
    free(mvk);
    free(mvz);
}
 
void WriteToVariable(char *dt)
{
    mvz[zi]=(char*) malloc(strlen(dt)+1);
    strcpy(mvz[zi], dt);
    DW(dt);
    zi++;
}
 
int DW(char *st)
{
    int i=0;
    dzd[zd]=st;
    char *temp;
    int len;
    int max_len = strlen(temp = strtok(st," ,.!?"));
    while(temp = strtok(NULL," ,.!?"))
    {
        len = strlen(temp);
        if(len>max_len)
        {
            max_len = len;
        }
    }
    dia[di]=max_len;
    di++; zd++;
}
 
char *strtok_r(char *str, const char *delim, char **save)
{
    char *res, *last;
    if( !save )
        return strtok(str, delim);
    if( !str && !(str = *save) )
        return NULL;
    last = str + strlen(str);
    if( (*save = res = strtok(str, delim)) )
    {
        *save += strlen(res);
        if( *save < last )
            (*save)++;
        else
            *save = NULL;
    }
    return res;
}
 
void ToUpperFunc(char *str, int max)
{
    int i;
    printf("Речення з найдовшим словом з %d букв: ", max);
    for(i=0;i<strlen(str);i++)
        printf("%c", toupper(str[i]));
}
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
28.12.2016, 19:42 4
Цитата Сообщение от Chasnik Посмотреть сообщение
shvyrevvg, ух, я только доделал свой код на костылях, а тут все так просто оказывается
Ну, зато свой костыль П.С. strtok хоть и портит строку, но если данных немного, можно создать копию и пропускать ее через strtok.
0
28.12.2016, 19:42
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.12.2016, 19:42
Помогаю со студенческими работами здесь

Нужно написать програму
Написать програму на мове С++ которая обчисливает умови: Вот первая умова: Вот вторая умова:

Нужно дополнить програму
Нужно дополнить програму хоть чем но что бы хоть процентов так 50 была больше. uses crt; ...

Нужно написать програму на Java
Написать программу, которая моделирует работу банкомата. Программа должна визуализировать процессы...

Нужно написать програму пожалуста
В одномерном массиве, состоящем из п целых элементов, вычислить 1) количество элементов массива,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Как обучить нейросеть создания картинок на Python
bytestream 24.01.2025
В эпоху цифровых технологий искусственный интеллект становится неотъемлемой частью творческого процесса. Особое место в этой области занимает разработка и обучение нейронных сетей для создания. . .
Как обучить нейросеть генерации текста на Python
bytestream 24.01.2025
В современном мире искусственный интеллект и машинное обучение становятся неотъемлемой частью многих технологических решений. Одной из наиболее интересных и востребованных задач в этой области. . .
Машинное обучение на Python
bytestream 24.01.2025
Введение в машинное обучение на Python Машинное обучение представляет собой одну из наиболее динамично развивающихся областей информационных технологий, которая позволяет компьютерным системам. . .
Как удалить вирус-майнер с компьютера
hw_wired 24.01.2025
Вирусы-майнеры стали одной из наиболее серьезных угроз для пользователей компьютеров. Эти вредоносные программы тайно используют вычислительные ресурсы зараженного устройства для добычи криптовалюты. . .
Что такое веб-сервер, для чего он нужен и как работает
bytestream 24.01.2025
В современную эпоху цифровых технологий веб-сервер является фундаментальным компонентом интернет-инфраструктуры, обеспечивающим функционирование множества онлайн-сервисов и веб-сайтов. Этот. . .
Как в цикле for перебрать все элементы в словаре в Python
bytestream 24.01.2025
Словари в Python представляют собой мощные структуры данных, которые позволяют хранить информацию в формате ключ-значение. Эта особенность делает их незаменимыми при работе с данными, где требуется. . .
Как отменить rebase в Git
hw_wired 24.01.2025
Git rebase представляет собой мощный инструмент для управления историей коммитов в системе контроля версий Git. Этот механизм позволяет разработчикам изменять последовательность, комбинировать или. . .
Как поменять цвет input placeholder с помощью CSS
bytestream 24.01.2025
В веб-разработке оформление элементов пользовательского интерфейса играет ключевую роль в создании привлекательного и интуитивно понятного дизайна. Особое внимание уделяется формам ввода данных, где. . .
Как перебрать все значения в перечислении (enum) в C#
bytestream 24.01.2025
Перечисление (enum) в языке программирования C# представляет собой специальный тип данных, который позволяет определить набор именованных констант. Этот мощный инструмент особенно полезен, когда. . .
Как обойтись без проверки на null, чтобы избежать NullPointerExce­ption в Java
bytestream 24.01.2025
NullPointerException (NPE) является одним из самых распространенных исключений в Java, создающих серьезные проблемы при разработке программного обеспечения. Данное исключение возникает при попытке. . .
Что лучше использовать в href ссылок в JavaScript: "#" или "javascript:voi­­d(0)­"
bytestream 24.01.2025
При разработке веб-приложений важную роль играет правильное использование HTML-ссылок в сочетании с JavaScript. Одним из ключевых аспектов является выбор корректного значения атрибута href для. . .
Как узнать индекс элемента списка по его значению в Python
hw_wired 24.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только манипулировать элементами списка, но и определять их точное местоположение. Индекс элемента представляет собой. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru