,   CyberForum.ru

++


 
Larkin888
0 / 0 / 0
: 17.05.2012
: 42
#1

- C++

23.06.2012, 12:17. 1018. 13
( )

( ), 10 , 80 , . . . ,

( )

:
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
#include <stdio.h>
#include <ctype.h>
#include <string.h>
 
#include <iostream>
#include <fstream>
 
#define N 10
 
typedef struct Lines
{
    char line[80];
    int count;
} LINE;
 
void swap(LINE& line1, LINE& line2);
 
using namespace std;
 
int main()
{
    const char* filename = "d:\\input.txt";
    ifstream ifs(filename, ifstream::in);
 
    static char* line = new char[80];
    LINE* pText = new LINE[N]; int i = 0;
    memset((void*)pText, 0x00, sizeof(LINE) * N);   
    while ((ifs.peek() >= 0) && (ifs.getline(line, 80)))
    {
        pText[i].count = 0;
        strcpy(pText[i++].line, line);
    }
 
    for (int s = 0; strcmp("\0",pText[s].line) < 0; s++)
    {
        int cnt = 0; char* psz = pText[s].line;
        for (int i = 0; psz[i] != '\0'; i++)
            if (isspace(psz[i]) || i == strlen(psz)-1)
            {
                int k = i-1; int q = strlen(psz)-1;
                while (q >= i) psz[q+1] = psz[q--];
                while ((!isspace(psz[k])) && (k >= 0)) k--;
 
                char ch = psz[k+1]; cnt++;
                for (int n = k+1; psz[n] != '\0'; n++)
                    psz[n] = psz[n+1]; 
                
                psz[i == strlen(psz)-1 ? i : i-1] = ch;
            }
 
            pText[s].count = cnt;
    }
 
    for (int i = 0; strcmp("\0",pText[i].line) < 0; i++)
    {
        int max_i = i;
        for (int k = i+1; strcmp("\0",pText[k].line) < 0; k++)
            if (pText[k].count > pText[max_i].count) max_i = k;
        swap(pText[i],pText[max_i]);
    }
 
    for (int i = 0; strcmp("\0",pText[i].line) < 0; i++)
        printf("%s %d\n",pText[i].line,pText[i].count);
 
    return 0;
}
 
void swap(LINE& line1, LINE& line2)
 { LINE _tl = line1; line1 = line2; line2 = _tl; }
     
Similar
41792 / 34177 / 6122
: 12.04.2006
: 57,940
23.06.2012, 12:17    
:

.- ? - C++
( ), 10 , 80 , ...

, - C++
! S , . - ...

- C++
&quot; . k &quot;

. - C++
, * . .

- C++
: , k .( ) - , ...

() - C++
. . , . ...

, C++ - C++
C++ , ...

.
MrCold
854 / 752 / 71
: 11.01.2012
: 1,942
23.06.2012, 12:28     #2
.
<ctype.h> : isspase ..
.
Larkin888
0 / 0 / 0
: 17.05.2012
: 42
23.06.2012, 13:38  []     #3
MrCold
.
<ctype.h> : isspase ..
.
-,
MrCold
854 / 752 / 71
: 11.01.2012
: 1,942
23.06.2012, 14:03     #4
Larkin888, :
C++
1
while ((!isspace(psz[k])) && (k >=0)) k--;
:
C++
1
while ((!isspace(psz[k])) && (k > 0)) k--;
, ...
Larkin888
0 / 0 / 0
: 17.05.2012
: 42
23.06.2012, 14:20  []     #5
[QUOTE=MrCold;3199516]Larkin888, :
C++
1
while ((!isspace(psz[k])) && (k >=0)) k--;
:
C++
1
while ((!isspace(psz[k])) && (k > 0)) k--;

, , : " "
MrCold
854 / 752 / 71
: 11.01.2012
: 1,942
24.06.2012, 01:26     #6
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
 /*   (  ),    10 ,
      80 ,        .
       .
     .      ,
    */
 
#include <string>
#include <iostream>
#include <fstream>
#include <algorithm>
#include <sstream>
#include <cctype>
 
#define QUAN 50
 
size_t change(std::string &str);
 
int main(){
    size_t i = 0, j = 0, value[QUAN];
    std::string text[QUAN];
    std::string filename, filename2;
    std::cout << "Input a name of  file for reading :\n";
    getline(std::cin,filename);
    std::ifstream infile(filename.c_str());
    if(!infile)
    {
         std::cerr << "Error opening file for reading !";
         return (1);
    }
    else
    {
           while(getline(infile,text[i]))
           {
                  std::cout << text[i] << '\n';
                  value[i] = change(text[i]);
                  i++;
           } 
 
           for(j = 1; j < QUAN; j++)
           for (i = 0; i < QUAN - j; i++)
             {
                 if(value[i + 1] > value[i] )
                      {
                      std::swap(value[i + 1], value[i] );
                      std::swap( text[i + 1],  text[i] );
                      }
             }
    }
 
    std::cout << "Input a name of file for writing :\n";
    getline(std::cin,filename2);    
    std::ofstream outfile(filename2.c_str());
 
      if(!outfile)
      {
        std::cerr << "Error opening file for writing !";
        return (1);
      } 
      else
      {
             for( i = 0; i < QUAN; ++i)
             {
                 if(!text[i].empty())
                  {
                      outfile << text[i] << '\n';
                      std::cout << text[i] << '\n'; 
                 }
             }  
      }
    infile.close();
    outfile.close();
 
  return (0);
}
 
size_t change(std::string &str)
{
    size_t count = 0, beg = 0, fin = 0; 
    std::string tmpstring;
    std::stringstream stream(str );
    while(stream >> str )
    {
        for( beg = 0; beg < str.length(); beg++)
        {
            if(isalnum(str[beg])) break;
        }
        for( fin = str.length() - 1; fin > 0; fin--)
        {
            if(isalnum(str[fin])) break;
        }
        str.insert(fin + 1, str.substr(beg ,1) ); 
        str.erase(beg, 1);
        count++;
        tmpstring +=(' ' + str);
    }
    str = tmpstring; 
    return count;
}
Larkin888
0 / 0 / 0
: 17.05.2012
: 42
24.06.2012, 05:43  []     #7
MrCold
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
 /*   (  ),    10 ,
      80 ,        .
       .
     .      ,
    */
 
#include <string>
#include <iostream>
#include <fstream>
#include <algorithm>
#include <sstream>
#include <cctype>
 
#define QUAN 50
 
size_t change(std::string &str);
 
int main(){
    size_t i = 0, j = 0, value[QUAN];
    std::string text[QUAN];
    std::string filename, filename2;
    std::cout << "Input a name of  file for reading :\n";
    getline(std::cin,filename);
    std::ifstream infile(filename.c_str());
    if(!infile)
    {
         std::cerr << "Error opening file for reading !";
         return (1);
    }
    else
    {
           while(getline(infile,text[i]))
           {
                  std::cout << text[i] << '\n';
                  value[i] = change(text[i]);
                  i++;
           } 
 
           for(j = 1; j < QUAN; j++)
           for (i = 0; i < QUAN - j; i++)
             {
                 if(value[i + 1] > value[i] )
                      {
                      std::swap(value[i + 1], value[i] );
                      std::swap( text[i + 1],  text[i] );
                      }
             }
    }
 
    std::cout << "Input a name of file for writing :\n";
    getline(std::cin,filename2);    
    std::ofstream outfile(filename2.c_str());
 
      if(!outfile)
      {
        std::cerr << "Error opening file for writing !";
        return (1);
      } 
      else
      {
             for( i = 0; i < QUAN; ++i)
             {
                 if(!text[i].empty())
                  {
                      outfile << text[i] << '\n';
                      std::cout << text[i] << '\n'; 
                 }
             }  
      }
    infile.close();
    outfile.close();
 
  return (0);
}
 
size_t change(std::string &str)
{
    size_t count = 0, beg = 0, fin = 0; 
    std::string tmpstring;
    std::stringstream stream(str );
    while(stream >> str )
    {
        for( beg = 0; beg < str.length(); beg++)
        {
            if(isalnum(str[beg])) break;
        }
        for( fin = str.length() - 1; fin > 0; fin--)
        {
            if(isalnum(str[fin])) break;
        }
        str.insert(fin + 1, str.substr(beg ,1) ); 
        str.erase(beg, 1);
        count++;
        tmpstring +=(' ' + str);
    }
    str = tmpstring; 
    return count;
}
"input a name of file reading" - , "input a name of file reading"
MrCold
854 / 752 / 71
: 11.01.2012
: 1,942
24.06.2012, 08:39     #8

, .
.. :
1) .
.
2)
.
.
.

Larkin888, ,
:
C++
1
2
3
4
5
6
7
//   ------------------------------
std::ifstream infile("file.txt");
 
.............................................
 
//------------------------------------
std::ofstream outfile("file2.txt");
22,23,24,51,52
Larkin888
0 / 0 / 0
: 17.05.2012
: 42
24.06.2012, 10:31  []     #9
MrCold
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
 /*   (  ),    10 ,
      80 ,        .
       .
     .      ,
    */
 
#include <string>
#include <iostream>
#include <fstream>
#include <algorithm>
#include <sstream>
#include <cctype>
 
#define QUAN 50
 
size_t change(std::string &str);
 
int main(){
    size_t i = 0, j = 0, value[QUAN];
    std::string text[QUAN];
    std::string filename, filename2;
    std::cout << "Input a name of  file for reading :\n";
    getline(std::cin,filename);
    std::ifstream infile(filename.c_str());
    if(!infile)
    {
         std::cerr << "Error opening file for reading !";
         return (1);
    }
    else
    {
           while(getline(infile,text[i]))
           {
                  std::cout << text[i] << '\n';
                  value[i] = change(text[i]);
                  i++;
           } 
 
           for(j = 1; j < QUAN; j++)
           for (i = 0; i < QUAN - j; i++)
             {
                 if(value[i + 1] > value[i] )
                      {
                      std::swap(value[i + 1], value[i] );
                      std::swap( text[i + 1],  text[i] );
                      }
             }
    }
 
    std::cout << "Input a name of file for writing :\n";
    getline(std::cin,filename2);    
    std::ofstream outfile(filename2.c_str());
 
      if(!outfile)
      {
        std::cerr << "Error opening file for writing !";
        return (1);
      } 
      else
      {
             for( i = 0; i < QUAN; ++i)
             {
                 if(!text[i].empty())
                  {
                      outfile << text[i] << '\n';
                      std::cout << text[i] << '\n'; 
                 }
             }  
      }
    infile.close();
    outfile.close();
 
  return (0);
}
 
size_t change(std::string &str)
{
    size_t count = 0, beg = 0, fin = 0; 
    std::string tmpstring;
    std::stringstream stream(str );
    while(stream >> str )
    {
        for( beg = 0; beg < str.length(); beg++)
        {
            if(isalnum(str[beg])) break;
        }
        for( fin = str.length() - 1; fin > 0; fin--)
        {
            if(isalnum(str[fin])) break;
        }
        str.insert(fin + 1, str.substr(beg ,1) ); 
        str.erase(beg, 1);
        count++;
        tmpstring +=(' ' + str);
    }
    str = tmpstring; 
    return count;
}
, ,
MrCold
854 / 752 / 71
: 11.01.2012
: 1,942
24.06.2012, 11:35     #10
Larkin888
, ,
, .

59
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include <string>  //    
#include <iostream>
#include <fstream>
#include <algorithm>
#include <sstream>
#include <cctype>
 
#define QUAN 50    //    10 
 
size_t change(std::string &str);  //      
 
int main(){
    size_t i = 0,
           j = 0,
           value[QUAN];  //          
 
    std::string text[QUAN]; //   
    std::string filename, filename2;
 
    //     
    std::cout << "Input a name of  file for reading :\n";
    getline(std::cin,filename);
 
 
    std::ifstream infile(filename.c_str());  //     ( ifstream)
 
    //    
    if(!infile)
    {
         std::cerr << "Error opening file for reading !";
         return (1);
    }
    //     
    else
    {
           while(getline(infile,text[i]))  //   
           {
                  std::cout << text[i] << '\n';  //     
                  value[i] = change(text[i]);    //     (  )        
                  i++;
           } 
 
           //             
           for(j = 1; j < QUAN; j++)
           for (i = 0; i < QUAN - j; i++)
             {
                 if(value[i + 1] > value[i] )
                      {
                      std::swap(value[i + 1], value[i] );
                      std::swap( text[i + 1],  text[i] );
                      }
             }
    }
 
    //       
    std::cout << "Input a name of file for writing :\n";
    getline(std::cin,filename2);    
 
 
    std::ofstream outfile(filename2.c_str());    //     ( fstream)
 
 
    //    
      if(!outfile)
      {
        std::cerr << "Error opening file for writing !";
        return (1);
      } 
 
      //     
      //           
      else
      {
             for( i = 0; i < QUAN; ++i)
             {
                 if(!text[i].empty()) //      
                  {
                      outfile << text[i] << '\n';// 
                      std::cout << text[i] << '\n'; // 
                 }
             }  
      }
 
      //  
    infile.close();  
    outfile.close();
 
  return (0);
}
 
 
//             
//  
size_t change(std::string &str)
{
    size_t count = 0, //   -  
 
                     beg = 0, //   
 
                       fin = 0; //  
 
    std::string tmpstring;   //   
 
    std::stringstream stream(str ); //        stringstream
 
    while(stream >> str ) //     
    {
 
        //       (      ,   .)
        for( beg = 0; beg < str.length(); beg++)
        {
            if(isalnum(str[beg])) break;
        }
 
        //       (      ,   .)
        for( fin = str.length() - 1; fin > 0; fin--)
        {
            if(isalnum(str[fin])) break;
        }
 
        str.insert(fin + 1, str.substr(beg ,1) ); //    ( substr)      (fin + 1)  insert
 
        str.erase(beg, 1); //    ,     
 
        //    
        count++; 
 
        //       
        tmpstring +=(' ' + str);
    }
    str = tmpstring;  // 
    return count;  //   
}
Larkin888
0 / 0 / 0
: 17.05.2012
: 42
24.06.2012, 11:44  []     #11
MrCold
, .

59
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include <string>  //    
#include <iostream>
#include <fstream>
#include <algorithm>
#include <sstream>
#include <cctype>
 
#define QUAN 50    //    10 
 
size_t change(std::string &str);  //      
 
int main(){
    size_t i = 0,
           j = 0,
           value[QUAN];  //          
 
    std::string text[QUAN]; //   
    std::string filename, filename2;
 
    //     
    std::cout << "Input a name of  file for reading :\n";
    getline(std::cin,filename);
 
 
    std::ifstream infile(filename.c_str());  //     ( ifstream)
 
    //    
    if(!infile)
    {
         std::cerr << "Error opening file for reading !";
         return (1);
    }
    //     
    else
    {
           while(getline(infile,text[i]))  //   
           {
                  std::cout << text[i] << '\n';  //     
                  value[i] = change(text[i]);    //     (  )        
                  i++;
           } 
 
           //             
           for(j = 1; j < QUAN; j++)
           for (i = 0; i < QUAN - j; i++)
             {
                 if(value[i + 1] > value[i] )
                      {
                      std::swap(value[i + 1], value[i] );
                      std::swap( text[i + 1],  text[i] );
                      }
             }
    }
 
    //       
    std::cout << "Input a name of file for writing :\n";
    getline(std::cin,filename2);    
 
 
    std::ofstream outfile(filename2.c_str());    //     ( fstream)
 
 
    //    
      if(!outfile)
      {
        std::cerr << "Error opening file for writing !";
        return (1);
      } 
 
      //     
      //           
      else
      {
             for( i = 0; i < QUAN; ++i)
             {
                 if(!text[i].empty()) //      
                  {
                      outfile << text[i] << '\n';// 
                      std::cout << text[i] << '\n'; // 
                 }
             }  
      }
 
      //  
    infile.close();  
    outfile.close();
 
  return (0);
}
 
 
//             
//  
size_t change(std::string &str)
{
    size_t count = 0, //   -  
 
                     beg = 0, //   
 
                       fin = 0; //  
 
    std::string tmpstring;   //   
 
    std::stringstream stream(str ); //        stringstream
 
    while(stream >> str ) //     
    {
 
        //       (      ,   .)
        for( beg = 0; beg < str.length(); beg++)
        {
            if(isalnum(str[beg])) break;
        }
 
        //       (      ,   .)
        for( fin = str.length() - 1; fin > 0; fin--)
        {
            if(isalnum(str[fin])) break;
        }
 
        str.insert(fin + 1, str.substr(beg ,1) ); //    ( substr)      (fin + 1)  insert
 
        str.erase(beg, 1); //    ,     
 
        //    
        count++; 
 
        //       
        tmpstring +=(' ' + str);
    }
    str = tmpstring;  // 
    return count;  //   
}
! , - ?
MrCold
854 / 752 / 71
: 11.01.2012
: 1,942
24.06.2012, 12:07     #12
- .
,
     
Larkin888
0 / 0 / 0
: 17.05.2012
: 42
24.06.2012, 12:13  []     #13
MrCold
- .
,
, . -
system("pause") ?
MoreAnswers
37091 / 29110 / 5898
: 17.06.2006
: 43,301
24.06.2012, 12:38    
:

2 - C++
, C++ , , 2 , ...

, - C++
, L .

, - C++
. , ,

, , - C++
++, . : ...

- C++
, , , ...




:
MrCold
854 / 752 / 71
: 11.01.2012
: 1,942
24.06.2012, 12:38     #14
Larkin888
, . -
system("pause") ?
, .
C++
1
return 0;

C++
1
system("pause");
Yandex
24.06.2012, 12:38    

- , ,
-
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
@Mail.ru