ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Блок схема.
  #1  
Старый 18.04.2009, 20:54
Аватар для Ch3ck
Ch3ck
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
Провел на форуме:
5301021

Репутация: 1879


По умолчанию Блок схема.

Мужики вери нид хэлп(выручайте короче)...
Завтра нужно сдавать курсовик, а эти блок-схемы вообще забыл как рисовать...
Вот постановка задачи:
Код:
Написать программу, которая открывает текстовый файл-список, содержащий имена файлов по одному на строке. Программа подсчитывает количество предложений во всех файлах и выводит предложения в другой файл по одному на строке в порядке уменьшения длины.
Вот сам код:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>

char *filename;
char *tmp_str;
char *result_str;
FILE *open_f;
FILE *result_f;
char **str_array;
int i, j, count, ind, max, length, jlen;
FILE *file_list;
FILE *result;
char list_path[256];

void rus (char*src) 
{
    char dst[256];
    CharToOem(src,dst);
    printf("%s\n", dst);
}

int main(int argc, char *argv[])
{
    filename = (char*)malloc(256);
    tmp_str = (char*)malloc(1024);
    result_str = (char*)malloc(1024);
    str_array = (char**)malloc(8192);
    i = 0; j=0; count = 0;
  
	rus("Введите имя файла содержащего пути к другим файлам:");
	scanf("%s", list_path);
    file_list = fopen(list_path, "r");
	if(!file_list)
	{
		perror("Error opening file\n");
		return -1;
    }
    while(!feof(file_list))
    {
        fscanf(file_list, "%s\n", filename); // \n - to avoid the new line symbol
        printf("Opening %s\n", filename);
        open_f = fopen(filename, "r");
        if(!open_f)
        {
            perror("Error opening file\n");
            return -1;
        }
        
        //read files by word
        //strcat combines words to expressions
        strcpy(result_str,""); //clear string
        while(!feof(open_f))
        {
            fscanf(open_f, "%s", tmp_str);
            if((strchr(tmp_str,'.') == NULL) && (strchr(tmp_str,'!') == NULL) && (strchr(tmp_str,'?') == NULL))
            {
               strcat(result_str, tmp_str);
               strcat(result_str, " ");
               continue;
            }
            else
            {
                strcat(result_str, tmp_str);
            }
            str_array[i] = (char*)malloc(strlen(result_str));
            strcpy(str_array[i++], result_str);
            strcpy(result_str,""); //clear string
        }
        fclose(open_f);
        
        
    }
    fclose(file_list);
    count = i;
    
        for(j=0;j<count;j++)
       rus(str_array[j]);
       printf("\n\n\n\n");
    
    for(i=0;i<count;i++)
    {
       ind = i; length = strlen(str_array[i]); max =0;
       
       for(j=i+1;j<count;j++)
       {
          jlen = strlen(str_array[j]);
          if(jlen > length && jlen > max)
          {
                ind = j;
                max = jlen;
          }
       }
         
       if(ind != i)
       {
          strcpy(tmp_str, str_array[ind]);
          strcpy(str_array[ind], str_array[i]);
          strcpy(str_array[i], tmp_str);
       }
    }
          
    for(j=0;j<count;j++)
       rus(str_array[j]);

	rus("Запись в результирующий файл");
	
	result = fopen("result_file.txt","w");
	for(j=0;j<count;j++)
	{
        fprintf(result, "%s\n", str_array[j]);
		free(str_array[j]);
	}
	fclose(result);
    
    return 0;
}
Помогайте рисовать...
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна схема деактивирования так сказать) aka_k4 Электроника и Фрикинг 2 11.03.2009 15:11
Схема задержки импульса на 4 мкс Koller Болталка 3 13.12.2006 18:25
Как своими руками превратить блок питания в обогреватель dinar_007 Аппаратное обеспечение 3 14.04.2006 22:26
Схема Lolik Схемы и программы 8 29.10.2005 10:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ