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

Сосчитать количество строк в символьном массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пользователь вводит с клавиатуры число, необходимо перевернуть его (число) и вывести на экран. http://www.cyberforum.ru/cpp-beginners/thread20536.html
Сегодняшнее домашнее задание основано именно на этом принципе, однако, вам придется использовать еще и циклы. 1. Пользователь вводит с клавиатуры число - программа должна показать сколько в данном числе цифр. Число вводится целиком в одну переменную. Примечание: Например, пользователь ввел число 12345. На экране должно появиться сообщение о том, что в числе 5 цифр. 2. Пользователь вводит с...
C++ Структуры данных и двоичные файлы Доброго времени суток, уважаемые пользователи. Помогите, пожалуйста, с решением задачи: Дан файл file, содержащий сведения о кубиках: длина ребра, цвет, материал. Найти количество кубиков данного цвета и их суммарный объём. Реализовать на двоичных файлах с помощью структур данных (struct). Буду признателен любой помощи. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread20521.html
C++ Измерение скорости копирование данных в оперативной памяти!
Там вроде надо два массива содавать я пробовал ничего не вышло((
Поменять стандартный тип данных C++
Народ, помогите с вопросом. В С++ стандартным типом данных является int. Как поменять это на что-то другое. Например, что бы переменная определенная без типа была char: a = 5; // sizeof(a) == 1
C++ Метод удаления по ключу http://www.cyberforum.ru/cpp-beginners/thread20512.html
ребята помогите пожалуста! нужно что то исправить.. ни как не работает метод удаления по ключу.. у меня условие следующее: нужно удалить все марки новее выбраного возраста.(его вводим с клавиатуры) мои марки содержат 4 параметра. (цвет, номинал, страну, возраст) а нужно удалить по одному параметру всю марку разом(то есть весь массив). в менюхе я ввожу число ниже которого все марки...
C++ Класс множество Нужно написать класс множество с конструкторами, деструкторами, операторами. Так вот возник вопрос...как понимать тип данных множество?? Это обычный массив в котором даннеы не могут повторяться, распологаются упорядоченно (обязательно или нет?),.....?? Добавлено через 5 часов 10 минут 26 секунд template <class T> class set { public: //------------------- подробнее

Показать сообщение отдельно
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
11.01.2009, 13:33
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
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define asize(a)  (sizeof (a) / sizeof (a)[0])   /* вычисляет длину массива */
 
/* выводит элементы массива указателей на строки,
   которые встречаются более 1 раза */
main()
{
    char **l, *lines[] = {
        "book",
        "dog",
        "mother",
        "book",
        "pistol",
        "brother",
        "dog"
    };
    int i, j, n;
    
    if ((l = (char **) calloc(asize(lines), sizeof(char *))) == NULL)
        return 1;
    for (i = 0; i < asize(lines); i++)
        if ((l[i] = (char *) malloc(strlen(lines[i])+1)) == NULL) {
             while (--i >= 0)  
                 free((void *) l[i]);  
             free((void **) l);  
             return 2;
        } else
            strcpy(l[i], lines[i]);   /* копирует массив в память */
    for (i = 0, n = 0; i < asize(lines); n = 0, i++) {
        for (j = i+1; j < asize(lines); j++)
            if (*l[j] != '\0'
             && strcmp(l[i], l[j]) == 0 
             && n++
             && (*l[j] = '\0'))   /* если повтор встречается, он удаляется */
                ;
        if (n == 0)   /* оставляет только повторяющиеся строки */
            *l[i] = '\0';
    }
    for (i = 0; i < asize(lines); i++) {
        if (*l[i] != '\0')   /* выводит неудалённые строки */
            printf("%s\n", l[i]);
        free((void *) l[i]);   /* удаляет копии строк из памяти */
    }    
    free((void **) l);   /* удаляет указатель на массив копий из памяти */
    return 0;
}
Тут можно редактировать сообщения?
ага, только если залогинился
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru