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

Нахождение и подсчет глассных - C++

Восстановить пароль Регистрация
 
baygav
0 / 0 / 0
Регистрация: 05.01.2010
Сообщений: 8
09.06.2010, 18:13     Нахождение и подсчет глассных #1
Прошу помощи:задание звучит так.Скопировать из файла 1 в файл 2 строки,которые задаються пользователем,подсчитать количество гласных в этих строчках.
Вот написал программу но она считает только гласные в последней строчке и выводит 1 строчку,т.е например вводим с 1 по 4 она 4 раза выведет первую строчку.Очень надеюсь на помощь,заранее спасибо


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
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
using namespace std;
 
void zapoln_file(int n)
{
    FILE *in;
    in=fopen("in.txt","w");
    int i;
    char stroka[255];
    for (i=0;i<n;i++)
    {
        printf("Vvedite stroku i=%d\n",i);
        gets(stroka);
        fputs(stroka,in);
        fputs("\n",in);
        cout<<"\n";
    }fclose(in);
}
void print_in()
{
    FILE *in;
    char stroka[255];
    in=fopen("in.txt","r");
    cout<<"file in \n";
    while (fgets(stroka,255,in)!=0)//конец
        puts(stroka);
    cout<<"\n";
    fclose (in);
}
void cop1(int n1, int n2,int n)
{
    FILE *in;
    in=fopen("in.txt","r");
    FILE *outh;
    outh=fopen("outh.txt","w");
    char stroka[255];
    int c=0;
    while (fgets(stroka,255,in)!=0)
    {   if ((c>n1-1)&&(c<=n2))
            fputs(stroka,outh);
    c++;
    }
    fclose(in);
    fclose(outh);
}
int print_outh(int n)
{
    FILE *outh;
    n=0;
    char stroka[255];
    outh=fopen("outh.txt","r");
    cout<<"file out \n";
    while (fgets(stroka,255,outh)!=0)
    n++;
    fclose (outh);
    return n;
}
int slova(int n)
{   FILE *outh;
    outh=fopen("outh.txt","r");
    char buf[255];
    int k=0;
    fgets(buf,255,outh);
    bool glass = true;
    int len,i;
    len=strlen(buf);
    i=0;
    while((i<len)&&(glass==true))
    {       
        
        if (buf[i]=='a'||buf[i]=='e'||buf[i]=='o'||buf[i]=='u'||buf[i]=='y'||buf[i]=='i')
        {
            glass=true;
            k++;
            cout<<buf<<" ";
        }
        i++;
            }
return k;
fclose (outh);
} 
 
 
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    int n,n1,n2,k;
    cout<<"Vvedite kolichestvo strok ";
    char s[8];
    gets(s); n=atoi(s);
    zapoln_file(n);
    print_in();
    cout<<"Vvedite n1 i n2 ";
    cin>>n1>>n2;
    cout<<"\n";
    cop1(n1,n2,n);
    n=print_outh(n);
    k=slova(n);
    cout<<"Koli4ectvo glasnix "<<k<<"\n"<<"\n";
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2010, 18:13     Нахождение и подсчет глассных
Посмотрите здесь:

Нахождение и подсчет прописных букв C++
C++ подсчет символов
C++ Подсчет битов
C++ количество глассных и согласных и сравнить каких больше
C++ Задача на подсчет
C++ подсчет слов в С++
C++ Подсчет слов
C++ Поменять нахождение min среди двумерного массива, на нахождение min в каждой сточке

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
вандал
126 / 126 / 1
Регистрация: 20.11.2009
Сообщений: 498
09.06.2010, 19:55     Нахождение и подсчет глассных #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
#include <iostream>
using namespace std;
int main(){
FILE *file, *file2;
char c;
int n, i = 1, j = 0;
char* file_name = "f.txt";
char* file_name2 = "file2.txt";
file = fopen( file_name, "w" );
file2 = fopen(file_name2, "r");
cout << "vvedite stroku: " << endl;
cin >> n;
while((c = fgetc(file2)) != EOF){
   if(i == n){
      if(c != '\n'){
         if(((c == 'a')||(c == 'e')||(c == 'i')||(c == 'o')||(c == 'u')||(c == 'y'))&&(c != ' '))
            j++;  
         fputc(c, file);
      }
   }
   if(c =='\n')
   i++;
}
fputs("\nkolichestvo elementov: ", file);
cout << j;
fprintf(file, "%i", j);
fclose(file);
fclose(file2);
return 0;
}
создай file2.txt и в него загоняй текст и создай f.txt в нем будет результат

Добавлено через 16 минут
25 строчку можно удалить
Yandex
Объявления
09.06.2010, 19:55     Нахождение и подсчет глассных
Ответ Создать тему
Опции темы

Текущее время: 20:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru