Форум программистов, компьютерный форум CyberForum.ru

1) Структура 2) строки нужно Именно на Си, а не на Си++ - C++

Восстановить пароль Регистрация
 
soladin
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 13
24.03.2011, 21:28     1) Структура 2) строки нужно Именно на Си, а не на Си++ #1
1) Даны стоимости двух товаров в рублях и копейках. Найти суммарную стоимость покупки и рассчитать сдачу.
2) Удалить все символы в строке не являющимися буквами, а также заменить множественные пробелы одним.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
25.03.2011, 01:28     1) Структура 2) строки нужно Именно на Си, а не на Си++ #2
2
C
1
2
3
4
5
6
7
8
9
10
#include<stdio.h>
#include<ctype.h>
 
int main() {
    char str[100]="   6nth7&^    gf#@b *h", *a=str, *b=str;
    for(; *b=*a; ++a){
        if(isalpha(*a)||*a==' '&&*(a+1)!=' ')++b;
    }
    puts(str);
}
soladin
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 13
26.03.2011, 10:35  [ТС]     1) Структура 2) строки нужно Именно на Си, а не на Си++ #3
Именно на Си.
И еще не мог бы ты объяснить что за *а и *b, и в общими слова что делается в
if(isalpha(*a)||*a==' '&&*(a+1)!=' ')++b;
этой строчке, мне не очень понятно?
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
26.03.2011, 12:38     1) Структура 2) строки нужно Именно на Си, а не на Си++ #4
*a, *b - разыменованные указатели на char
if(isalpha(*a)||*a==' '&&*(a+1)!=' ') - если *а - буква или последний пробел из серии
soladin
0 / 0 / 0
Регистрация: 24.03.2011
Сообщений: 13
26.03.2011, 13:15  [ТС]     1) Структура 2) строки нужно Именно на Си, а не на Си++ #5
Все понял спасибо большое)
еще бы структуры так же)
x1Mike7x
 Аватар для x1Mike7x
214 / 127 / 6
Регистрация: 06.11.2010
Сообщений: 234
26.03.2011, 16:50     1) Структура 2) строки нужно Именно на Си, а не на Си++ #6
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
#include <stdio.h>
#include <stdlib.h>
 
struct Tovar
{
    int R, K;
};
 
int main()
{
    long double P;
    int Rubl, Kop;
    struct Tovar T1, T2;
 
    // Реализуете ввод дробного числа P - цены (пример: "43.85")
    P = 34.53;
    T1.R = (int)P;
    T1.K = (int)((P - (int)P) * 100);
    // Аналогично для товара 2
    P = 6.25;
    T2.R = (int)P;
    T2.K = (int)((P - (int)P) * 100);
 
    Rubl = T1.R + T2.R;
    Kop = T1.K + T2.K;
    if (Kop >= 100)
    {
        ++Rubl;
        Kop -= 100;
    };
    printf("Суммарная стоимость товаров %i рублей %i копеек", Rubl, Kop);
 
    // Тут надо ввести сколько заплатили - юзаем опять переменную Р
    P = 50.0;
    P -= (Rubl + (double)Kop / 100);
    if (P < 0)
        printf("Какая сдача? Нам не доплатили!");
    else if (P == 0)
        printf("Сдачи нет!");
    else
    {
        // Заюзаем для нахождения сдачи одну и наших переменных типа нашей структуры - она все равно нам не нужна уже
        T1.R = (int)P;
        T1.K = (int)((P - (int)P) * 100);
        printf("\nСдача: %i рублей %i копеек", T1.R, T1.K);
    };
    system("pause");
    return 0;
}
grrrrr
 Аватар для grrrrr
45 / 45 / 7
Регистрация: 21.04.2009
Сообщений: 265
07.04.2011, 16:15     1) Структура 2) строки нужно Именно на Си, а не на Си++ #7
igorrr37, не могу понять цикл:
C++
1
2
3
4
5
for(; *b=*a; ++a){
        if(isalpha(*a)||*a==' '&&*(a+1)!=' ') //как это условие влияет на str? 
           ++b;
    }
cout << str << "\n";
На выходе строка из букв и пробелов. Почему? Ведь в цикле мы только перемещаемся, а уже после цикла на выходе строка без ненужных символов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2011, 20:25     1) Структура 2) строки нужно Именно на Си, а не на Си++
Еще ссылки по теме:

C++ Почему в scanf нужно указывать именно адреса переменных?
появилась загвоздка с функцией. нужно вывести на экран строку, сост. из звездочек. Длина строки-параметр функциииз звезд. длина строки - C++
C++ Структура "Слушатель курсов". Подробно прокомментировать строки программы

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

Или воспользуйтесь поиском по форуму:
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
07.04.2011, 20:25     1) Структура 2) строки нужно Именно на Си, а не на Си++ #8
не только перемещаемся, но и копируем: *b=*a;
Yandex
Объявления
07.04.2011, 20:25     1) Структура 2) строки нужно Именно на Си, а не на Си++
Ответ Создать тему
Опции темы

Текущее время: 21:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru