Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2016, 23:05   #1
Кристина1998
Форумчанин
 
Регистрация: 01.11.2016
Сообщений: 110
По умолчанию Задание на СИ (все работает, но надо чтобы когда мы вводили например: -4 конфеты и -4 яблока. -4 выводилось один раз, а не два

Код:
#include <stdio.h>


int vy_minus ( char str [], int i );

int main() {
//-------------------------

//printf ( "%i", 'z' );

	char
		str[256] = " ( -4  hufdjkfjdxknj -3.5 jjkkjj -4 -9 ) ";



/*
	printf("Введите строку : "); //ввели строку
	gets(str);
//*/


	printf("%s\n", str);
//	printf(str);
	
	// 1. пройдем по строке от начала слова до конца слова


	int i = 0;

	do {

		i = vy_slovo ( str, i ); // в конце поиска вернуть 0

	} while ( i );

	return 0;

//-------------------------
} // main


int vy_slovo ( char str [], int i ) {
//-------------------------

	char slovo[256];
	char s;
	int j = 0;

	for(  i ; str [ i ] ; i ++ ) { // знак  в строке

		 /*
				1. ищем начало слова - минус
				2. записываем слово (только цифры и .)

		  */

		s = str [ i ]; // символ


		if ( ! j  )
		{ // начало слова

			if ( s == '-'  )
			{ // первая буква - минус
				slovo [ j++ ] = s;
			}

			continue;
		}


		//
		if ( ( s >= '0' && s <= '9' ) || s == '.' )
		{ // это наша буква! 


			slovo [ j++ ] = s;

		}
		else
		{ // это не буква

			// если слово не началось - ничего не делаем (идем к след. символу сторки)
			// иначе проверяем посл. б и выводим слово

			if ( j!=0 )	
			{ // это уже конец слова 

				slovo [ j ] = 0;
				printf ( "[%s]\n", slovo );

				return i;
			}

		}


	} // for

	return 0;

//-------------------------
} // vy_slovo
Пожалуйста, оформляйте Ваш код согласно правилам.

Последний раз редактировалось Вадим Мошев; 19.11.2016 в 23:25.
Кристина1998 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
надо сделать структуру данных чтобы она показывала имя станнцыи метро и дополнительную инфу(например дату её пастройки) Klaperis Общие вопросы C/C++ 5 02.12.2013 05:46
Дан ряд любых чисел. Когда повторяется число второй раз, то его надо удалить. Katia1234 Помощь студентам 6 05.05.2012 10:09
Два Edita надо сделать недоступным один из них nik-maximal Общие вопросы Delphi 1 25.01.2012 14:50
Как сделать, чтобы значение в столбце повторялось один раз? Oleg T. Microsoft Office Excel 1 17.12.2008 16:02
Как сделать, чтобы программа запускалась один раз, т.е. повторно запустить нельзя??? Kamikadze_666 Безопасность, Шифрование 7 31.07.2007 08:34