Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Amsteri
0 / 0 / 2
Регистрация: 27.09.2013
Сообщений: 24
#1

Определить фамилии женатых, не имеющие детей - C++

08.10.2013, 01:03. Просмотров 903. Ответов 21
Метки нет (Все метки)

Відомо прізвища 12 людей, їх сімейний стан (одружений/неодружений) та наявність дітей (є/нема). Визначити прізвища одружених, що не мають дітей.

Добавлено через 19 минут
Известны фамилии 12 человек, их семейное положение (женат / замужем) и наличие детей (есть / нет). Определить фамилии женатых, не имеющие детей.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2013, 01:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определить фамилии женатых, не имеющие детей (C++):

Считать данные из файла и вывести фамилии всех женатых мужчин, имеющих детей
Входные данные оформить в виде отдельного файла. 1. Массив структур содержит...

Структура "Человек". Найти фамилии женатых, у которых нет детей
1. Известны фамилии 12-ти людей, их семейное положение (женат\не женат) и...

Распечатать фамилии детей данного детского садика
Распечатать фамилии детей данного детского сада, которые родились в...

Вывести на экран фамилии детей, которые родились в определенный месяц, указать их возраст и группу
Вывести на экран фамилии детей детского сада, которые родились в определенный...

Распечатать фамилии детей данного детского сада, которые родились в определенном месяце; указать их возраст и группу.
Распечатать фамилии детей данного детского сада, которые родились в...

Определить указатели на функции, имеющие следующие прототипы
float F1(int n,float arr); float *F2(int n,char *st);

21
Nikcharn
71 / 53 / 10
Регистрация: 31.07.2009
Сообщений: 149
08.10.2013, 01:32 #2
Пишите программу, а мы ее поправим, если что то не так.
1
Amsteri
0 / 0 / 2
Регистрация: 27.09.2013
Сообщений: 24
08.10.2013, 01:37  [ТС] #3
http://www.cyberforum.ru/cpp-beginners/thread971766.html#post5152497

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 
int main(int argc, char* argv[])
{
    int y;
    for (int  х = -1; х<=1.0; х+= 0.2)
 
 
// начало цикла
    cout << "" ; // тело цикла
    cout << endl;
    system("pause");
    return 0;
}
0
MrGluck
Модератор
Эксперт CЭксперт С++
8023 / 4866 / 1425
Регистрация: 29.11.2010
Сообщений: 13,251
08.10.2013, 01:50 #4
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
#include <iostream>
#include <string>
#include <cstddef>
 
class Person
{
  public:
    Person() : surname(), married(), haveChild() {}
    Person(const std::string s, const bool m, const bool hc) :
        surname(s), married(m), haveChild(hc) {}
    // set-методы ...
    void set(const std::string s, const bool m, const bool hc)
    {
        surname = s;
        married = m;
        haveChild = hc;
    }
    // get-методы
    std::string getSurname() const { return surname; }
    bool getMarried() const { return married; }
    bool getHaveChild() const { return haveChild; }
 
  protected:
    std::string surname;
    bool married;
    bool haveChild;
};
 
 
int main()
{
    const std::size_t N = 12;
    Person p[N];
    for (std::size_t i=0; i < N; i++)
    {
        std::string str;
        char m, hc;
        std::cout << "Enter surname: ";
        std::cin >> str;
        std::cout << "Married? (y/n): ";
        std::cin >> m;
        std::cout << "Have child? (y/n): ";
        std::cin >> hc;
        std::cout << std::endl;
        p[i].set(str, (m=='y'), (hc=='y'));
    }
 
    std::cout << "\nMarried and have no children:\n";
    for (std::size_t i=0; i < N; i++)
        if (p[i].getMarried() && !p[i].getHaveChild())
            std::cout << p[i].getSurname() << std::endl;
 
}
0
Nikcharn
71 / 53 / 10
Регистрация: 31.07.2009
Сообщений: 149
08.10.2013, 01:52 #5
Цитата Сообщение от Amsteri Посмотреть сообщение
на завтра плис
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int y;
for (int х = -1; х<=1.0; х+= 0.2)
// начало цикла
cout << "" ; // тело цикла
cout << endl;
system("pause");
return 0;
}

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
int main()
{
    float x = -1;
    while (x <= 1 )
    {
        std::cout << 1/x << std::endl;
        x += 0.2;
    }
}
0
MrGluck
Модератор
Эксперт CЭксперт С++
8023 / 4866 / 1425
Регистрация: 29.11.2010
Сообщений: 13,251
08.10.2013, 01:57 #6
Nikcharn, на ноль делите, товарищ
0
Nikcharn
71 / 53 / 10
Регистрация: 31.07.2009
Сообщений: 149
08.10.2013, 02:00 #7
Цитата Сообщение от MrGluck Посмотреть сообщение
Nikcharn, на ноль делите, товарищ
Так по стандарту, деление вещественного числа на ноль должно дать + или - бесконечность, нет?
1
castaway
Эксперт С++
4927 / 3034 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
08.10.2013, 02:08 #8

Не по теме:

Цитата Сообщение от Nikcharn Посмотреть сообщение
Так по стандарту, деление вещественного числа на ноль должно дать + или - бесконечность, нет?
Как по мне, так оно должно дать исключение... может я не соответствую стандарту?..



Добавлено через 4 минуты

Не по теме:

Nikcharn, ты прав. Я туплю.

0
MrGluck
Модератор
Эксперт CЭксперт С++
8023 / 4866 / 1425
Регистрация: 29.11.2010
Сообщений: 13,251
08.10.2013, 02:10 #9
castaway, в джаве дает исключение, в C++ runtime error.

Nikcharn, в любом случае, программист должен эту ситуацию выловить даже в примитивной задачке
0
castaway
08.10.2013, 02:10
  #10

Не по теме:

Цитата Сообщение от MrGluck Посмотреть сообщение
castaway, в джаве дает исключение, в C++ runtime error.
С целыми типами или с любыми?

0
Nikcharn
71 / 53 / 10
Регистрация: 31.07.2009
Сообщений: 149
08.10.2013, 02:14 #11
Цитата Сообщение от MrGluck Посмотреть сообщение
castaway, в джаве дает исключение, в C++ runtime error.
Nikcharn, запусти ка
Код C++
1
2
3
4
5
#include <iostream>
int main()
{
* * std::cout << 1 / 0;
}
Так, во первых, мы разговариваем про стандарт си. А во вторых, число должно быть вещественным. Потому что вещественное и целое число имеют разное представление в компьютере.

C++
1
2
3
4
5
6
7
#include <iostream>
 
int main()
{
    float x = 0.0;
    std::cout << 1/x << std::endl;
}
0
Миниатюры
Определить фамилии женатых, не имеющие детей  
castaway
Эксперт С++
4927 / 3034 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
08.10.2013, 02:18 #12
Нельзя разговаривать о стандарте Си употребляя термины iostream, cout и т.п.
Да и запятую ты не там поставил...
1
Nikcharn
71 / 53 / 10
Регистрация: 31.07.2009
Сообщений: 149
08.10.2013, 02:20 #13
Цитата Сообщение от castaway Посмотреть сообщение
Нельзя разговаривать о стандарте Си употребляя термины iostream, cout и т.п.
Ну, я тут имел в виду, конечно, не си, а стандарт си++.

Добавлено через 1 минуту
Цитата Сообщение от castaway Посмотреть сообщение
Да и запятую ты не там поставил...
Эх, в грамматике я не силен, к сожалению.
0
MrGluck
Модератор
Эксперт CЭксперт С++
8023 / 4866 / 1425
Регистрация: 29.11.2010
Сообщений: 13,251
08.10.2013, 02:23 #14
castaway, не, таки только с целыми (в джава java.lang.ArithmeticException: / by zero, в С++ рантайм).
С дробными вес прокатывает (ну как прокатывает, INF выводит)
0
Nikcharn
71 / 53 / 10
Регистрация: 31.07.2009
Сообщений: 149
08.10.2013, 02:26 #15
Цитата Сообщение от MrGluck Посмотреть сообщение
С дробными вес прокатывает (ну как прокатывает, INF выводит)
Я думаю это из за того, что вещественное число, никогда не может строго равняться 0 (в машинном представлении).
И получается, что мы делим число не на 0, а на какое то маленькое число, которое не равняется 0.
P.S. Кто знает, поправьте меня, если я не прав. Довольно таки интересный вопрос.
0
MrGluck
Модератор
Эксперт CЭксперт С++
8023 / 4866 / 1425
Регистрация: 29.11.2010
Сообщений: 13,251
08.10.2013, 02:33 #16
Цитата Сообщение от Nikcharn Посмотреть сообщение
Я думаю это из за того, что вещественное число, никогда не может строго равняться 0 (в машинном представлении).
Так то оно так, но мало ли что надо будет потом? Уж легче иф добавить и взять это за правило.
Мне больше интересно, что об этом стандарт говорит, поверхностным поиском я ничего не нашел (про деление вещественных чисел на ноль).

Надо бы завязывать с дискуссией, оффтопим, господа)

P.S. если будет цитата со стандарта - чирканите в ЛС пожалуйста.
0
Nikcharn
71 / 53 / 10
Регистрация: 31.07.2009
Сообщений: 149
08.10.2013, 02:43 #17
Цитата Сообщение от MrGluck Посмотреть сообщение
P.S. если будет цитата со стандарта - чирканите в ЛС пожалуйста.
Вот здесь отлично показывается, как представляются числа в компьютере (правда если Вы знаете английский). Примерно, в середине, рассказывается, о inf, NaN (not a number) и т.д.
Довольно таки познавательно.
0
Avazart
Эксперт С++
7685 / 5594 / 543
Регистрация: 10.12.2010
Сообщений: 25,077
Записей в блоге: 17
08.10.2013, 03:23 #18
Цитата Сообщение от Nikcharn Посмотреть сообщение
Так по стандарту, деление вещественного числа на ноль должно дать + или - бесконечность, нет?
NAN вроде ...
0
Nikcharn
71 / 53 / 10
Регистрация: 31.07.2009
Сообщений: 149
08.10.2013, 03:26 #19
Цитата Сообщение от Avazart Посмотреть сообщение
NAN вроде ...
Все мы разобрались, NaN = 0. / 0, а остальные вещественные числа деленные на 0 = inf.
0
Croessmah
++Ͻ
14161 / 8086 / 1513
Регистрация: 27.09.2012
Сообщений: 19,929
Записей в блоге: 3
Завершенные тесты: 1
08.10.2013, 03:43 #20
Может быть полезно: Представление вещественных чисел "на пальцах"

Цитата Сообщение от MrGluck Посмотреть сообщение
P.S. если будет цитата со стандарта - чирканите в ЛС пожалуйста.
3.9.1.8
The value representation of floating-point types is implementation-defined.

5.4
If during the evaluation of an expression, the result is not mathematically defined or not in the range of representable values for its type, the behavior is undefined. [ Note: most existing implementations of C++ ignore integer overflows. Treatment of division by zero, forming a remainder using a zero divisor, and all floating point exceptions vary among machines, and is usually adjustable by a library function.

5.6.4
If the second operand of / or % is zero the behavior is undefined.
2
08.10.2013, 03:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2013, 03:43
Привет! Вот еще темы с решениями:

Дана прямоугольная матрица. Определить четные элементы, имеющие нечетную сумму индексов.
Задание: Дана прямоугольная матрица. Определить четные элементы, имеющие...

Напишите процедуру вывода всех холостых людей и подсчитайте количество женатых.
Напишите процедуру вывода всех холостых людей и подсчитайте количество женатых.

Определить, есть ли в заданной матрице строка, в которой имеется два элемента, имеющие наибольшие значения
Дан двумерный массив размером n*m, заполненный случайными числами. Определить,...

Определить, есть ли в заданной матрице строка, в которой имеется два элемента, имеющие наибольшие значения
Дан двумерный массив размером n*m, заполненный случайными числами. Определить,...


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

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

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