Определение среднего размера строки в файле - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый вечер,уважаемые программисты. Очень нужна помощь в 1. Определении ошибки. На компиляторе Вижуал Студио 6( тот,на котором нужно защищать,выдает 2 ошибки при самом запуске) 2. Реализовать вывод с помощью стдерр. 3. Реализовать ввод имени файла через командную строку. Создать подпрограмму для определения среднего размера строки в данном текстовом файле и количества непустых строк, длина которых не больше средней величины. Результаты измерений должны быть отображены через стандартный вывод ошибок stderr. Имя файла указывается в командной строке. Вот собстно говоря мои наработки.
#include <stdio.h>
#include <stdlib.h>
  
 void main() {
    char c;
    char fileName[256]={"ba.txt"}; 
                
    int i=0,z=0,k=0,flag,Srednee,str[200],l=0;
    FILE *f;
    str[0]=0;
    
    f = fopen(fileName, "r"); 
    if (f == 0) { 
        perror("Ne mogu otkryt fail");
        exit(-1); 
    }
    while((c=getc(f))!=EOF)
    {
        if(c!='\n')
        {
            if ((c!=' ')&&(c!='\t')) flag=1;
            i=1;
            
        } 
        else
        {
            i=0;
            flag=0;
        }
        k+=i;
        
        if (flag) 
        {   
            str[l]=str[l]+i;
            
        }
        if (i==0) 
        {
            z++;
            if(str[l]) {l++; str[l]=0;}
        }
    }
    fclose(f);
       
    Srednee=k/z;
    k=0;
    for(i=0;i<l;i++) if (str[i]<=Srednee) k++;
        
    printf("Srednee zna4enie = %d\n",Srednee);
    printf("kolvo strok ne dlinee srednego = %d",k);

}
В компиляторе Вижуал Студио 6 выдается следующие ошибки при запускании: --------------------Configuration: laba3 - Win32 Debug-------------------- Linking... laba3.obj : error LNK2001: unresolved external symbol __fgetc Debug/laba3.exe : fatal error LNK1120: 1 unresolved externals Error executing link.exe. laba3.exe - 2 error(s), 0 warning(s)

Решение задачи: «Определение среднего размера строки в файле»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
 int main() {
    char c;
    char fileName[256];
    printf("%s", "Введите имя файла в который хотите отрыть: \n");
    scanf("%s",fileName);
    int i=0,z=0,k=0,flag,Srednee,str[200],l=0;
    FILE *f;
    str[0]=0;
 
    f = fopen(fileName, "r");
    if (f == 0) {
        perror("Ne mogu otkryt fail");
        exit(-1);
    }
    while((c=getc(f))!=EOF)
    {
        if(c!='\n')
        {
            if ((c!=' ')&&(c!='\t')) flag=1;
            i=1;
 
        }
        else
        {
            i=0;
            flag=0;
        }
        k+=i;
 
        if (flag)
        {
            str[l]=str[l]+i;
 
        }
        if (i==0)
        {
            z++;
            if(str[l]) {l++; str[l]=0;}
        }
    }
    fclose(f);
 
    Srednee=k/z;
    k=0;
    for(i=0;i<l;i++) if (str[i]<=Srednee) k++;
 
    printf("Srednee zna4enie = %d\n",Srednee);
    printf("kolvo strok ne dlinee srednego = %d",k);
 
    return 0;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы