Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Срочно, помогите решить пару задачек :)


Автор: Izzy 14.12.2002, 20:11
делимость на три
В файле дана строчка 03215
Программа должна найти все построчки, изображающие числа, которые делятся на 3

строчку s1 называют подстрочкой s2, если строчку s1 можно получить из строчки s2, удаляя от начала и конца с2, некоторое количествр символов

в другой файл надо надо вывести число искомых строчек

Вотс, вообщем решение или советы по нему нужны не позже чем через два часа :p

Автор: Step 14.12.2002, 20:23
удаляеш, проверяеш остаток от деления и т.д.

или у тебя проблемы с удалением и преобразованием.

Автор: Step 14.12.2002, 20:26
ты случайно сейчас в алимпиаде не участвуеш.

Автор: Izzy 14.12.2002, 20:27
У меня проблма считать файл под досом, пробую
ifstrem temp ("file.txt");
char ch;
temp.get(ch);

У меня даже один символ не считывает, и ошибок компилятор тоже не выдаёт.

Автор: Izzy 14.12.2002, 20:32
случайно участвую  :rolleyes

Забыл, как проверить остаток от деления?

Автор: Step 14.12.2002, 20:35
а ты fstrem попробуй и Опен не забудь вызвать, говорят помогает

Автор: Step 14.12.2002, 20:38
Цитата(Izzy @ 14.12.2002, 12:32)
случайно участвую  :rolleyes

Забыл, как проверить остаток от деления?

x%y - возврощает остаток, в твоем случае должен быть равен нулю

Автор: Step 14.12.2002, 20:41
а под виндой, что нельзя, там легче.

Автор: Izzy 14.12.2002, 20:43
В том то и дело что нет, я под дос писал только при самых первых шагах, потом пересел на builder... а теперь вот посадили под голый дос и ни чего  сделать не могу :(
Может всё таки подскажешь решение? Хотя бы как эффективней проверить на делимость, а то у меня как то криво получилос и не одним циклом

Автор: Step 14.12.2002, 21:03
Код
#include <fcntl.h>      /* Needed only for _O_RDWR definition */
#include <io.h>
#include <stdlib.h>
#include <stdio.h>

char buffer[60000];

void main( void )
{
  int fh;
  unsigned int nbytes = 60000, bytesread;

  /* Open file for input: */
  if( (fh = _open( "read.c", _O_RDONLY )) == -1 )
  {
     perror( "open failed on input file" );
     exit( 1 );
  }

  /* Read in input: */
  if( ( bytesread = _read( fh, buffer, nbytes ) ) <= 0 )
     perror( "Problem reading file" );
  else
     printf( "Read %u bytes from file\n", bytesread );

  _close( fh );
}


Надеюсь это тебе поможет

Автор: Izzy 14.12.2002, 23:33
Криво, косо, но написал все задачки... кое что недоделал, сказался долгий перерыв (ни чего не писал около полугода :angry: )
Сейчас попробовал в своём любимом bcb, всё решается быстро и безболезненно :D

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)