Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите как сделать... Сам не догоняю...) 
:(
    Опции темы
Tripl-X
  Дата 26.1.2005, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.12.2004

Репутация: 1
Всего: 1



Подскажите как сделать две задачки:
1. Удалить из строки, которую ввел юзер комментарии вида /*...*/
2. Найти наименьшее общее кратное для массива...

С первой прогой вобще не знаю,
а вторая получилась вроде, но он находит все кратные...
И только для двух-элементного массива...

Код

int NOK(int *);/*объявление функции НОК*/

void main()
{
int A[2]={0};
int i;
printf("Vvedite elementy massiva, dlya kotorih nugno nayti NOK:\n");

for(i=0;i<2;i++)
scanf("%i", &A[i]); /*цикл, который после каждого прохода записывает число с
клавивтуры в элемент массива с индексом i*/

NOK(A);

getch();
}

int NOK(int *A)
{
 int i, j; /*объявление переменных-счетчиков.*/
for(j=1;j<10;j++)
 for(i=0;i<2;i++)
   if(((j%A[i])==0)&&((j%A[i+1])==0))
      {printf("%i ", j);break;}

}

PM MAIL ICQ   Вверх
MaxB
Дата 26.1.2005, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 10.2.2004
Где: Украина, Одесса

Репутация: нет
Всего: 1



По первой задачи ты, что-то с условием напутал!!!
Цитата
1. Удалить из строки, которую ввел юзер комментарии вида /*...*/

PM MAIL WWW ICQ   Вверх
Tripl-X
Дата 26.1.2005, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 29.12.2004

Репутация: 1
Всего: 1



Нет, все правильно... Вводим строка, например:

Hello/*Привет*/World!

Преобразуется и выводится:

Hello World!

Вот и все. Условие правильное, задача глупая... Но это не ко мне... это к преподам из НГТУsmile
PM MAIL ICQ   Вверх
azesmcar
Дата 26.1.2005, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Код

char* RemoveComment( char *pStr )
{
int nStart = 0;
int nFinish = 0;
char *pCommentStart = strstr( pStr, "/*" );
while ( pCommentStart )
{
 char *pCommentEnd = strstr( pStr, "*/" );
 memcpy( pCommentStart, pCommentEnd + 2, strlen( pCommentEnd ) );
 pCommentStart = strstr( pStr, "/*" );
}
return pStr;
}

PM   Вверх
_hunter
Дата 26.1.2005, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 16
Всего: 98



ну так в чем проблема ( с первой задачей )? на ходиш слеш. проверяеш идет ли после него звезда. если идет -- пропускаеш все символы до следующей звезды. проверяеш идел ли за ней слеш -- если да -- пропускаеш его. если нет -- ещи следующую звезду.


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
azesmcar
Дата 26.1.2005, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



но код надо немного подправить...я особо не тестировал...
PM   Вверх
LuckLess
Дата 26.1.2005, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 15.9.2004

Репутация: 1
Всего: 1



2-я задача:
Код

unsigned int krat(int sz,int *a){
int i,*fsym=a,*max=fsym,crat=0,j;

if (sz<2) return *a;       // если 1 переменная , то она и есть НОК

for (i=1;i<sz;i++){       //ищем максимальное число
if (*max<*(fsym+i)) max=fsym+i;  
}

for (crat=*max;;crat+=*max){ //к crat постоянно прибавляем *max пока crat не станет НОК
   j=0;
       for (i=0;i<sz;i++){
           if (crat%*(fsym+i)!=0){j=1;break;} //если crat не делится на какоенибудь число , j=1, выходим из внутреннего цикла.
       }
       if (j==1) continue; // если j=1 то crat не НОК и нада продолжать главный цыкл.
   break;  //crat - НОК! УРА!
}
return crat;
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1806 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.