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

Строки, как считать? (С) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ как определить номер строки, в которой находится самая длинная серия одинаковых элементов? http://www.cyberforum.ru/cpp-beginners/thread74537.html
всем добрый вечер) Задачка: В целочисленной квадратной матрице определить номер строки, в которой находится самая длинная серия одинаковых элементов.
C++ МОДА РЯДА Есть одна задачка..Она, может, и простая, но , на мой взгляд- длинная..: "Написать программу в которой вычисляются мода ряда. Функция, вычисляющая моду, т.е. значение, встречающееся среди его элементов чаще всего, должна получить два параметра- ряд, в котором имеется мода и число элементов ряда." Неужели, чтобы найти моду. придётся сранивать каждый элемент со всеми остальыми и... http://www.cyberforum.ru/cpp-beginners/thread74517.html
C++ Преобразование одиночного символа в строку
Сабж. Как я понимаю, нужно добавить '\0'. Есть ли какие-нибудь простые и элегантные способы?
C++ Из десятичной в восмиричную и шестнадцатиричную
Напишите программу, которая преобразует введенное пользователем десятичное число в восмеричное и шестнадцатиричное (С соответствующими комментариями) Помогите пожалуйста)
C++ МАССИВЫ!!! http://www.cyberforum.ru/cpp-beginners/thread74497.html
Ребят! Кому не трудно, напишите плиз 3 задачки на языке СИ(не СИ++): 1) Упорядочить исходный массив так, чтобы вначале шли по возрастанию элементы, стоящие на чётных местах, а потом, стоящие на нечётных местах. 2)В одномерном массиве, состоящем из n вещественных чисел, вычислить произведение всех положительных элементов. 3)Написать программу, которая вводит по строкам с клавиатуры...
C++ Схема Халецкого Очень нужна помощь!!! нужно написать эту задачку на visual c++, на классах, используя методы get и set Добавлено через 4 минуты /* test108.cpp 2/11/2007 */ подробнее

Показать сообщение отдельно
Gravity
 Аватар для Gravity
556 / 550 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
15.12.2009, 02:14     Строки, как считать? (С)
Full version =)
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define MAXW 1024
 
/* сравнение длин слов */
int slencmp(const void *p1, const void *p2)
{
    const char *s1, *s2;
 
    s1 = * (char **) p1;
    s2 = * (char **) p2;
    return strlen(s1) - strlen(s2);
}
 
int main(void)
{
    char s[4096], *words[MAXW];
    char *p, *delim = " -:,.!?";
    int i, npos, nw, maxwlen;
    char ch;
 
    printf("Enter string: ");
    if(fgets(s, sizeof(s), stdin) == NULL || *s == '\n')
        return 1;
    
    if(p = strrchr(s, '\n'))
        *p = '\0';
    
    /* поиск слов, где npos-я буква это 'a' */
    npos = 1;
    ch = 'a';
 
    /* выделение слов в строке */
    for(i = 0, p = s; i < MAXW && (p = strtok(p, delim)); p = NULL)
        if(p[npos] == ch)
            words[i++] = strdup(p);
    
    /* запоминаем количество считанных слов */
    nw = i;
 
    /* определение слов с максимальной длиной */
    qsort(words, nw, sizeof(char *), slencmp);
    maxwlen = strlen(words[nw-1]);
    for(i = nw - 1; i >= 0; i--)
        if(strlen(words[i]) >= maxwlen) {
            printf("Word: %s\n", words[i]);
        } else {
            break;
        }
    
    /* очистка памяти */
    for(i = 0; i < nw; i++)
        free(words[i]);
    return 0;
}
 
Текущее время: 21:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru