Все работает, но надо чтобы когда мы вводили например: -4 конфеты и -4 яблока. -4 выводилось один раз, а не дв - C (СИ)
Формулировка задачи:
Листинг программы
- #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
Решение задачи: «Все работает, но надо чтобы когда мы вводили например: -4 конфеты и -4 яблока. -4 выводилось один раз, а не дв»
textual
Листинг программы
- str[256] = " ( -4 hufdjkfjdxknj -3.5 jjkkjj -4 -9 ) ";
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д