Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Кристина 1998
0 / 0 / 1
Регистрация: 13.09.2016
Сообщений: 147
1

все работает, но надо чтобы когда мы вводили например: -4 конфеты и -4 яблока. -4 выводилось один раз, а не дв

19.11.2016, 23:44. Просмотров 360. Ответов 8
Метки нет (Все метки)

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#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
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2016, 23:44
Ответы с готовыми решениями:

Куда поставить writeln(), чтобы оно выводилось только один раз?
begin writeln('Введите с какого по какой год'); writeln('введите первый...

Как сделать чтобы выводилось имя и долг человека в конце программы, когда должников не один а несколько?
Это задача в которой ввожу количество пользователей,имя и долг.У кого долг...

Все данные выводтся в 1 колонку, а надо чтобы выводилось по 3 в строчку
Ув. юзеры, как мне подкорректировать вывод из бд? В общем у меня все данные...

Дана n из натуральных чисел. Найти: n^2 + (n+1)^2+ . +(2n)^2. Нужно чтобы когда вводили n программа нашла сумму
Дана n натуральное число. Найти: n^2 + (n+1)^2+ ... +(2n)^2. Нужно чтобы когда...

Перевода целого числа в денежный формат, но так, чтобы например число 1250 выводилось как 12 руб 50 коп
срочно нужно) составить программу перевода целого числа в денежный формат,но...

8
matveev1512
21 / 21 / 14
Регистрация: 29.05.2016
Сообщений: 119
Завершенные тесты: 1
19.11.2016, 23:52 2
у вас прототип
C
1
int vy_minus(char str[], int i);
а функция называется
C
1
int vy_slovo(char str[], int i)
Добавлено через 51 секунду
и она находится вне области видимости функции main
0
Кристина 1998
0 / 0 / 1
Регистрация: 13.09.2016
Сообщений: 147
19.11.2016, 23:57  [ТС] 3
matveev1512, cпасибо исправила
А как мне сделать это:когда мы вводили например: -4 конфеты и -4 яблока. -4 выводилось один раз, а не два
0
matveev1512
21 / 21 / 14
Регистрация: 29.05.2016
Сообщений: 119
Завершенные тесты: 1
19.11.2016, 23:58 4
А можно увидеть условие задачи?
0
Кристина 1998
0 / 0 / 1
Регистрация: 13.09.2016
Сообщений: 147
20.11.2016, 00:04  [ТС] 5
matveev1512, Ввести строку. Вывести только различные встречающиеся отрицательные действительные числа.
0
matveev1512
21 / 21 / 14
Регистрация: 29.05.2016
Сообщений: 119
Завершенные тесты: 1
20.11.2016, 00:09 6
Кристина 1998,
C
1
str[256] = " ( -4  hufdjkfjdxknj -3.5 jjkkjj -4 -9 ) ";
Хм. Все правильно работает. В строке же присутствуют два раза -4.

Добавлено через 56 секунд
С либой string.h знакомы ?
0
Кристина 1998
0 / 0 / 1
Регистрация: 13.09.2016
Сообщений: 147
20.11.2016, 00:12  [ТС] 7
matveev1512, задание дополнительное, чтобы один раз -4 выводить
0
matveev1512
21 / 21 / 14
Регистрация: 29.05.2016
Сообщений: 119
Завершенные тесты: 1
20.11.2016, 00:24 8
делать доп проверку строки еще раз на наличие в ней найденого значения. Я бы все найденные значения вносил бы в отдельный массив. И сверял бы найденное с ним.

Добавлено через 1 минуту
а потом бы вывел все на экран из массива в котором хранятся найденные значения.

Добавлено через 4 минуты
как вариант можно написать еще функцию которая считает сколько одинаковых значений . и потом выводит на экран.
Например.
-4 2 раза
-3.5
-9
0
Кристина 1998
0 / 0 / 1
Регистрация: 13.09.2016
Сообщений: 147
20.11.2016, 09:44  [ТС] 9
matveev1512, а можете мне, пожалуйста, код написать
0
20.11.2016, 09:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2016, 09:44

Надо задать класс с машинами, чтобы на печать выводилось модель, скорость
Завтра здавать лабу по информатике, а она не идёт помогите плиз. Что я не так...

пользователь выбирает в селекте например врача Иванова в другом селекте время например 9:00.Как сделать так чтобы когда пользователь в следующий ра
Есть селекты (один-время приёма, другой- имя врача ) пользователь выбирает в...

Как сделать так,что, когда все детали имеют одинаковый вес, выводилось соответствующее сообщение об этом
Задача: Информация о детали состоит из названия, веса экземпляра детали (в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru