Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
loveliness
0 / 0 / 1
Регистрация: 30.11.2014
Сообщений: 10
1

Найти самую длинную строку и удалить её

17.11.2015, 11:47. Просмотров 293. Ответов 1
Метки нет (Все метки)

Подскажите пожалуйста, где ошибки. И в правильном ли русле я иду.
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
#include <stdio.h>
 
int strlen(char *s)
{ 
    int i = 0;  
    while( s[i++] ); 
    return i - 1; 
}
 
int main()
{
    FILE * f;
    char *string;
    int n, fl = 0, size = 100;
    string = (char *) calloc (n, sizeof(char));
    if (str == NULL)
        exit (1);
    f = fopen("text.txt", "r");
    if ( (f = fopen("text.txt", "r") ) == NULL ) {
         fl = 1;
     perror ("File 'text.txt' couldn't be opened. ");
         exit (1);
    }
 
    fseek(f, sizeof( char) , SEEK_SET);
    
    while(!feof(f))
    {
        fgets(string, 100, f);
        if(strlen(string)>size)
            length=strlen(string);
    }
    
    fseek(f, sizeof( char) , SEEK_SET);
 
    while(!feof(f))
    {
        fgets(string, 100, f);
        if(strlen(string)==size)
            break;
    }
    printf ("String: %s\n",);
    puts(string);
    system("pause");
    fcloseall();
}
Добавлено через 1 час 17 минут
Помогите пожалуйста дописать. Осталось написать самое удаление в функции max_del
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>
 
#define MAX_CHARS_IN_LINE 2048
 
void max_del(char* str) {
    for( maxlen = 0; (str = getc(f)) != EOF; ++currlen ) {
           if( str == '\n' ) {
            if( maxlen < currlen )
                maxlen = currlen;
            currlen = 0;
        }
 
    }
}
 
int main(int argc, char *argv[])
{
  FILE *f;
  char* str;
  str = (char*) malloc(MAX_CHARS_IN_LINE);
 
  if((f=fopen(argv[1], "r"))==NULL) {
    printf("Не удается открыть файл.\n");
    exit(1);
  }
 
  while(!feof(f)) {
    if(fgets(str, MAX_CHARS_IN_LINE, fp)) max_del(str); //printf("%s", str);
  }
 
  fclose(fp);
  free (str);
  return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2015, 11:47
Ответы с готовыми решениями:

Найти самую длинную строку в файле
Собственно прога находит самую длинную строку в файле, но если длинных строк несколько то выводит...

Дан текстовый файл f. Найти самую длинную строку файла
Дан текстовый файл f. Найти самую длинную строку файла.

Найти самую длинную строку и поместить ее после самой короткой
Необходимо написать программу на языке Си, буду очень благодарен за помощь! Найти самую длинную...

В массиве найти самую длинную строку и поставить ее после самой короткой
дан массив строк. максимальное число символов в строке 80, число строк 6. найти самую длинную...

В тексте найти самую длинную и самую короткую строки и поменять их местами
в тексте найти самую длинную и самую короткую строки и поменять их местами

1
Байт
Эксперт C
20046 / 12668 / 2662
Регистрация: 24.12.2010
Сообщений: 26,385
17.11.2015, 11:53 2
loveliness, строка 15
C
1
 string = (char *) calloc (n, sizeof(char));
n не определен к моменту выполнения этой строки
Строка 31 length=strlen(string);
Видимо, имелось в виду
C
1
size = strlen(string);
Много непонятного. Например, зачем строчка 25
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2015, 11:53

Ввести n строк, найти самую короткую и самую длинную строки
Ввести n строк , найти самую короткую и самую длинную строки. Вывести найденные строки и их длину....

Получить самую длинную строку файла
Дан текстовый файл f. Получите самую длинную строку файла. Если в файле имеется несколько строк с...

Из массива удалить самую длинную цепочку четных элементов
Добрый день! Достался такой вариант по контрольной: Я знаю, как формировать массив, знаю, как...


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

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

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