2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Помогите написать программу на языке С
Сообщение23.12.2009, 17:04 


23/12/09
2
Надо написать программу, которая находит из текста программы самое большое число. Буду благодарен если поможите.
Вот мои попытки написать программу:

{
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 
Заслуженный участник


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

 Профиль  
                  
 
 Re: Помогите написать программу на языке С
Сообщение23.12.2009, 19:56 


23/12/09
2
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 
Заслуженный участник


04/05/09
4586
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 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group