Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 01.12.2011
Сообщений: 65

обработка файлов

15.05.2012, 12:24. Показов 866. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
дан текстовый файл. получить строку, в которой минимальное число слов.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.05.2012, 12:24
Ответы с готовыми решениями:

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

Обработка файлов
нужна программа, в которой ты вводишь имя файла с клавы, она открывает его, ты задаешь условие, которое программа удалит везде в этом файле...

обработка файлов
Записать в файл п произвольных натуральных чисел Переписать в другой файл те элементы, которые кратны К. Вывести полученный файл на печать.

6
 Аватар для zitxbit
96 / 748 / 279
Регистрация: 11.04.2012
Сообщений: 971
15.05.2012, 16:05
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
#include <iostream>
#include <fstream>
 
#define N 256
 
typedef struct Lines
{
      char* m_line;
      int m_wcount;
} LINES;
 
using namespace std;
 
int main()
{
     const char* filename = "d:\\input.txt";
     ifstream ifs(filename,ifstream::in);
 
     static char line[256] = "\0"; int count = 0; 
     LINES* lines = (LINES*)malloc(N * sizeof(LINES));
     while (ifs.peek() >= 0 && ifs.getline(line, 256))
     {
          lines[count].m_line = new char[256];
          strcpy(lines[count++].m_line, line);
     }
 
     for (int index = 0; index < count; index++)
     {
          lines[index].m_wcount = 1;
          char* line = lines[index].m_line;
          for (int q = 0; line[q] != '\0'; q++)
              if (isspace(line[q])) lines[index].m_wcount++;
     }
 
     int min = 0;
     for (int q = 0; q < count; q++)
          if (lines[q].m_wcount < lines[min].m_wcount)
              min = q;
 
     printf("%s\n", lines[min].m_line);
}
0
1 / 1 / 0
Регистрация: 01.12.2011
Сообщений: 65
29.05.2012, 11:24  [ТС]
создаем папку, в ней создаем файл с программой и текстовый документ in.txt, в котором будет 5 строк(строки для наглядности разделю запятыми) : 12345678,1234,123,12
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<iostream>
#include<stdio.h>
#include<locale>
#include<string>
using namespace std;
 
 
int main()
{FILE *old, *new1;
 int x=0,min=0,j=0;
 char a; char mas[100];
  if((old=fopen("in.txt","r+"))!=NULL)
    {for(int i=1; (a=getc(old))!='\n'; i++)
      {x++;
      fseek(old,i,SEEK_SET);
      
      }
    min=x;
     x=0;
     for(int i=1; (a=getc(old))!=EOF; i++)
      {x++;
      fseek(old,i,SEEK_SET);
       if((int)a==0x0a)
        {x--;
         if(x<min)  
           { min=x;;
             x=0;
           fseek(old,0,SEEK_CUR);
           new1=fopen("samaya korotkaya stroka.txt","w+");
             while((a=getc(old))!=0x0a)
               putc(a,new1);
             
           }
         else 
           x=0;
            
        }
      
      }
     
    }
  else
    cout<<"Исходный документ пустой!!!"<<endl;
       
system("pause");
}
почему программа не проверяет остальные строки и всегда выдает вторую?
0
 Аватар для zitxbit
96 / 748 / 279
Регистрация: 11.04.2012
Сообщений: 971
29.05.2012, 11:44
Данный код вряд-ли приведет к решению данной задачи, поскольку файл необходимо считывать не посимвольно с помощью fgetc, а построчно используя fgets, и далее считать длину каждой строки отдельно при помощи strlen.
0
1 / 1 / 0
Регистрация: 01.12.2011
Сообщений: 65
29.05.2012, 13:30  [ТС]
А как тогда переделать?
0
1 / 1 / 0
Регистрация: 01.12.2011
Сообщений: 65
03.06.2012, 09:09  [ТС]
zitxbit, ваша программа также выдает всегда вторую строку не зависимо больше в ней символов или меньше..
0
26 / 26 / 7
Регистрация: 18.11.2011
Сообщений: 266
03.06.2012, 09:17
Можн оиспользовать следуйщий метод: допустим 1 строка самая короткая, считываем 2 строку сравниваем если первая меньше то оставляем все на своих местах,иначе минимальная строка это 2 и дальше читаем 3 строку и сравниваем и.т.д. до конца файла .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.06.2012, 09:17
Помогаю со студенческими работами здесь

обработка файлов
товарищи подскажите что не так??? заранее благодарен!!! суть задачи следующая: &quot;Найти максимальный из отрицательных элементов в файле...

Обработка файлов
Дан текстовый файл. Каждая строка имеет следующий формат: фамилия пол рост. Создать новый текстовый файл, включающий список мужчин из...

Обработка файлов
Написать программу обрабатывающую текстовые файлы, чтобы создавался текстовый файл, в котором символы табуляции , пропуски, которые...

c++ обработка файлов
ОЧЕНЬ нужна программа на c++. Из текстового файла А.txt вывести кол-во символов (не учитывая пробел) в файл B.txt Например в файле...

Обработка файлов
Программа рассчитывает и показывает правильный результат через раз. Как я понял прога работает всегда НЕ правильно, возможно мне везет и...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru