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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Ambeon
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 6
#1

Подсчитать количество строк - C++

05.06.2011, 22:58. Просмотров 1434. Ответов 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
void main ()
{
    char f_name [255];
    cout<<"Vvtdite imja fajla ->";
    cin>>f_name;
    FILE *fp = fopen (f_name, "r");
    if (fp) {
        FILE *fp1=fopen ("itog.txt","w");
        char str [255];
        while (fgets(str, 256, fp)){
            int len=strlen (str);
            if (str [0] != '\n') fputc (str [0], fp1);
            for (int i=0; i<=len; i++){
                    if(str[0]==str[len-1])
            fputc(str [i],fp1);
            }
        }
    fclose (fp);
    fclose (fp1);
    cout<< "Fajl zapisan";
    }
    else cout<<"Net dannogo fajla";
        getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2011, 22:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Подсчитать количество строк (C++):

Подсчитать количество пучтых строк и количество строк,которые начинаются и оканчиваются на одну и ту же букву. - C++
Дан текстовый файл.Подсчитать количество пучтых строк и количество строк,которые начинаются и оканчиваются на одну и ту же...

Подсчитать количество всех строк, а потом - количество слов в каждой строке - C++
Программа считает количество строк в файле add.txt выводит на экран и записывает в новый указанный пользователем файл. #include...

Подсчитать количество строк - C++
Написать программу, которая читает файл с текстом программы на С\С++, выводит на экран и записывает в результативный файл информацию о том,...

Подсчитать количество строк в текстовом файле - C++
Нужно написать программу : Подсчитать количество строк в текстовом файле. Под строкой понимать совокупность символов, заканчивающихся...

Подсчитать количество строк в введенном тексте - C++
не могу понять почему VS 2010 вылетает.. хочу подсчитать количество строк в введенном тексте. и еще вопрос: как присвоить строку (например...

Файлы. Подсчитать количество символов и строк - C++
Дан текстовый файл. Дописать в его конце следую¬щие данные: количество строк, количество символов в каждой строке, количество чисел в...

2
OstapBender
583 / 522 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
06.06.2011, 01:18 #2
всё проще

C
1
2
3
4
5
6
7
8
int count=0;
while (fgets(str, 256, fp)) {
if (str[0]==str[strlen(str)-1]) {
fputs(str,fp1);
count++;
}
}
fprintf(fp1,"%\ncount: d\n",count);
Цитата Сообщение от Ambeon Посмотреть сообщение
и как лучше сделать
сделать лучше так
C
1
if (!fp) { puts("Error opening file"); getch(); return; }
вместо того чтобы тащить за собой еще 1 else по программе
1
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
06.06.2011, 02:18 #3
OstapBender, в таком виде вариант с fgets не сработает (т.к. fgets хранит встретившийся символ '\n' в строке):
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define SIZE 256
 
int main()
{
    char buf[SIZE];
    size_t len;
    
    puts("Input line:");
 
    fgets(buf, SIZE, stdin);
 
    fputs("Does line start and end with the same character? ", stdout);
 
    len = strlen(buf);
    
    if(buf[len - 1] == *buf)
    puts("Yes");
    else
    puts("No");
 
    puts("REALLY correct way to find it out:");
 
    if(buf[len - 1] != '\n' && buf[len -1] == *buf)
    puts("Yes");
    else if(len > 1 && buf[len - 2] == *buf)
    puts("Yes");
    else
    puts("No");
        
    exit(0);
}
Код
[nameless@desktop c]$ ./sample 
Input line:
abcda
Does line start and end with the same character? No
REALLY correct way to find it out:
Yes
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.06.2011, 02:18
Привет! Вот еще темы с ответами:

подскажите как подсчитать количество строк в файле - C++
Подскажите пожалуйста код программы как подсчитать кол-во строк в файле

Подсчитать количество строк заданной целочисленной матрицы N*N - C++
Подсчитать количество строк заданной целочисленной матрицы N*N, являющихся перестановкой чисел 1,2,...,N(т.е. содержащих каждое из чисел...

Подсчитать количество строк матрицы, удовлетворяющих условию - C++
Уважаемые программисты помогите, пожалуйста!!! нужно решить задачу на С++, а то попрощаюсь с учебой Подсчитайте количество строк матрицы...

Строка: Подсчитать количество одинаковых строк массива - C++
Может кто нибудь помочь. Дан массив строк. подсчитать количество одинаковых строк.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru