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

организовать функцию подсчета символов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как реализовать поиск по файлу с записями о работниках цеха? http://www.cyberforum.ru/cpp-beginners/thread1029709.html
Сегодня дали задание в универе:Задан файл с N записями о работниках цеха: ФИО, специальность. Найдите количество работников заданой специальности. Вопрос: Как реализовать этот поиск?
C++ Работа с Sender На форме есть пять кнопок. Как присвоить переменной последнюю нажатую кнопку? http://www.cyberforum.ru/cpp-beginners/thread1029707.html
C++ Редактирование файла ресурсов в Visual Studio Express 2013
Здравствуйте! Столкнулся с фактом того, что файлы ресурсов невозможно редактировать в Visual Studio Express 2013. Подскажите, пожалуйста, есть ли какие нибудь законные способы обойти это ограничение? Может быть существует какой нибудь сторонний редактор? Заранее спасибо за ответ! Добавлено через 1 час 32 минуты Неужели это неразрешимая проблема и никто с подобным не сталкивался?
Подсчет размера структуры C++
Доброго времени суток! Есть программа, написанная с применением структуры. Нужно посчитать размер этой структуры. Куда и как надо добавить sizeof? #include <stdio.h> #include <stdlib.h> #include <string.h> #define PAYROLL struct payroll #define PRINT_SEPARATOR printf("\n+----------+-------------+-----------+------------+")
C++ Распечатайте 15 последних строк текстового файла. http://www.cyberforum.ru/cpp-beginners/thread1029638.html
Дан большой текстовый файл с длиной строк не более 100 символов. Распечатайте 15 последних строк файла.
C++ Инициализация переменных С++11 Форумчане, подскажите в чем существенная разница ставить знак равенства "=" или нет (я понимаю что ее нет, но ведь для чего-то это сделано, может есть сходство?), свое мнение и идеи выразите пожалуйста в комментах. Всем спасибо. ... int emus {7}; // устанавливает emus в 7 int rheas = {12}; // устанавливает rheas в 12 int rocs = {}; // устанавливает rocs в 0 int psychics... подробнее

Показать сообщение отдельно
MDK_17R
Заблокирован
05.12.2013, 16:13     организовать функцию подсчета символов
есть программа
на вход подаём количество строк, далее вводим ФИО через пробел
на выходе получаем инициалы и фамилию
Пример:
ввели:
-Иванов Иван Иванович
-Петров Сергей Витальевич
получили:
-И. И. Иванов
-С. В. Петров

в чем собственно вопрос:
- необходимо создать такую функцию, которая будет делать выводы
пример:
ввели:
-Иванов Иван Иванович
-Киль Сергей Витальевич
получили:
-И. И. Иванов
-С. В. Киль
- первая строка 12 символов
- вторая строка 10 символов

есть у кого какие идеи, как организовать такую функцию?
сижу на лабе, сказале сейчас переделать, времени мало а мне для этого миниму пол дня нужно, чтобы организовать такую функцию

вот собственно сам исходник:

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
#include   <iostream>
#include   <string.h>
using   namespace   std ;
 
 
void   delete_memory  ( char**  text ,   int  n )
{
    for   ( int  i = 0 ;   i < n ;   i++ )
    {
        delete []   text [ i ] ;
    }
    delete []   text ;
}
char**   new_memory  ( int  n )
{
    char**   text  =  new char* [ n ] ;
    int   i  =  0 ;
    {
        for   (;  i  <  n ;   i++ )
        {
            text [ i ]   =   new char [ 255 ] ;
        }
    }
 
    return   text ;
}
 
void   filling_massiv  ( char**  text ,   int  n )
{
    for   ( int  i  =  0 ;   i  <  n ;   i++ )
    {
        cin.getline  ( text [ i ] ,  255 ) ;
    }
 
}
int copystrong  ( char*  string ,   char*  result ,   int  from ,  int  unto ,   int  i )
{
    for  ( int  j  =  from ;  j  <  unto ;  i++ ,  j++ )
    {
        result [ i ]   =   string [ j ] ;
    }
    return   i ;
}
char*   swap ( char*  string )
{
 
    int    fe   =   0 ;
    for  (;  string [ fe ]   !=   ' '   &&   string [ fe ]   !=   0 ;  fe++ ) ;
    char*  result   =   new char [ fe + 6 ] ;
    int   sb   =   fe  +  2 ;
    int   se   =   sb ;
    for  (;  string [ se ]   !=   ' ' ;   se++ ) ;
    int   kb   =   se   +   2 ;
    int   ke   =   0 ;
    for  ( ke   =   kb ;  string [ ke ]   !=   0 ;   ke++ ) ;
    int   i   =   0 ;
    i   =   copystrong ( string ,  result ,  sb - 1 ,  sb ,  i ) ;
    result  [ i ]   =   '.' ;
    i++ ;
    i   =   copystrong ( string ,  result ,  kb - 1 ,  kb ,  i ) ;
    result  [ i ]   =   '.' ;
    i++ ;
    result  [ i ]   =   ' ' ;
    i++ ;
    i   =   copystrong ( string ,  result ,  0 ,  fe ,  i ) ;
    result  [ i ]   =   0 ;
    return   result ;
}
char**   change_text ( int   n ,   char **   text )
{
    char**    result   =   new_memory ( n ) ;
    for   ( int  i  =  0 ;   i  <  n ;   i++ )
    {
        result  [ i ]   =   swap ( text [ i ] ) ;
    }
    return   result ;
}
void   output_text ( int   n ,  char**   text )
{
    for  ( int   i  =  0 ;   i  <  n ;   i++ )
    {
        cout   <<   text [ i ]   <<   endl ;
    }
}
int   main ( )
{
    int   n   =   0 ;
    cout   <<   " Vvedite kolichestvo strok: "   <<   endl ;
    cin   >>   n ;
    cin.ignore ( ) ;
    {
        char**  text   =   new_memory ( n ) ;
        filling_massiv  ( text ,  n ) ;
        char**  texttwo   =   change_text ( n ,  text ) ;
        output_text   ( n ,  texttwo ) ;
        delete_memory  ( text ,  n ) ;
        delete_memory  ( texttwo ,  n ) ;
    }
 
    system   ( " pause " ) ;
    return  0 ;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru