2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Помогите написать программу на языке С
Сообщение23.12.2009, 17:04 
Надо написать программу, которая находит из текста программы самое большое число. Буду благодарен если поможите.
Вот мои попытки написать программу:

{
int Max[100]; int s[100];
int MaxLength=0, bufLength;

FILE *f = fopen ("my.сpp", "r");
if(f)
{ while(fscanf(f,"%f",&Max) ==1)
{
int *buf;

if(bufLength > MaxLength)
{

MaxLength = bufLength;

}
}
if(MaxLength == 0)
{
puts("File is empty");
}
else
{
printf("Max: %s (Length: %d)\n", Max, MaxLength);
}
fclose(f);
}
else
{
puts("file not found");
}
getchar();
}

 
 
 
 Re: Помогите написать программу на языке С
Сообщение23.12.2009, 18:38 
1. Отформатируйте, пожалуйста, исходный код (воспользуйтесь тегом code или syntax и отступы не забудьте).
2. Объясните, в чём Ваша проблема.
3. Должна ли Ваша программа распознавать числа с десятичной точкой? Другими словами, как должна распознаваться строка "-123.456e9"? Как одно число или как три?

 
 
 
 Re: Помогите написать программу на языке С
Сообщение23.12.2009, 19:56 
1)Я не нашел кнопки редактировать :-[
2)Проблема, в том, что программа не работает:)
3)Программа должна распознавать только целые числа
Код:
{
    int Max[100]; int s[100];
    int MaxLength=0, bufLength;
    FILE *f = fopen ("my.сpp", "r");
    if(f)
    {       while(fscanf(f,"%f",&Max) ==1)
        {
        int *buf;
            if(bufLength > MaxLength)
            {
             MaxLength = bufLength;  }
        }  if(MaxLength == 0)  {
            puts("File is empty");
        }
        else
        {  printf("Max: %s (Length: %d)\n", Max, MaxLength); }
        fclose(f);
    } else     {
        puts("file not found");
    }
    getchar();
}

[/quote]

 
 
 
 Re: Помогите написать программу на языке С
Сообщение23.12.2009, 20:07 
DejaVu в сообщении #274483 писал(а):
1)Я не нашел кнопки редактировать :-[
Уже поздно. Редактровать можно только в течении часа.

Цитата:
2)Проблема, в том, что программа не работает:)
Конкретнее, что значит не работает?

Цитата:
3)Программа должна распознавать только целые числа
Должна ли программа пропускать не-числа?

Цитата:
Код:
{
    int Max[100]; int s[100];
    int MaxLength=0, bufLength;
    FILE *f = fopen ("my.сpp", "r");
    if(f)
    {       while(fscanf(f,"%f",&Max) ==1)
        {
        int *buf;
            if(bufLength > MaxLength)
            {
             MaxLength = bufLength;  }
        }  if(MaxLength == 0)  {
            puts("File is empty");
        }
        else
        {  printf("Max: %s (Length: %d)\n", Max, MaxLength); }
        fclose(f);
    } else     {
        puts("file not found");
    }
    getchar();
}
1. Вы знаете что обозначают форматные символы типа %f, %s и %d?
2. Что за махинации с MaxLength и bufLength? Последняя даже не инициализирована.

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group