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

3адача на массивы ( не вышло ) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ветвление, Условный оператор, Циклы http://www.cyberforum.ru/cpp-beginners/thread331294.html
Всем доброго времени суток. В программировании знаний практически нет, поэтому обращаюсь к людям более грамотным в данной области. Всем кто может помочь с кодом буду признателен. Задачи привожу ниже по списку разделов. Циклы 1. Рассмотрим некоторое натуральное число n. Если это- не палиндром, то изменим порядок его цифр на обратный и сложим исходное число с получившимся. Если сумма- не...
C++ Вывести группы букв строки, в которых буква А встречается не менее двух раз решите пожалуйста задачу. буду очень благодарен. Ввести строку, в которую могут входить только цифры и буквы. Распечатать те группы букв, в которых буква А встречается не менее двух раз. (Группа букв - это последовательность букв, обрамленная цифрами.) http://www.cyberforum.ru/cpp-beginners/thread331274.html
пример на файлы. у меня в коде есть ошибки, но я не знаю, как их исправить C++
по заданному списку фамилий напечатать каждому упомянутому в списке поздравление к определенному празднику. чтобы избежать шаблона, перечень желаемых благ выбирать как случайное подмножество из заготовленного списка. для универсальности программы можно сделать переменным и название праздника #include <stdafx.h> #include <conio.h> #include <stdio.h> #include <iostream> #include <math.h>...
C++ Вывод в файл
подскажите пожалуйста, почему у меня через функцию не хочет в файл выводить? Ошибки: 1>c:\юра\out\out\out.cpp(78) : error C2065: 'outd' : undeclared identifier 1>c:\юра\out\out\out.cpp(80) : error C2065: 'outd' : undeclared identifier 1>c:\юра\out\out\out.cpp(82) : error C2065: 'outd' : undeclared identifier Листинг: #include <iostream> #include <fstream>
C++ Почему пропускается getline? http://www.cyberforum.ru/cpp-beginners/thread331243.html
//функция ввода вопросов void create () { string question; int key; ofstream potok("question.bin", ios_base::app);//открывается на дозапись if (potok.is_open()) { do {
C++ квадратная матрица на С ??? написать программу на стандартном языке С (не с++) Дана действительная квадратная матрица порядка 2n. Получить новую матрицу переставляя ее блоки размера n x n таким образом очень нужно помогите если не трудно за ранее благодаарен может это и не такая трудная прога но для меня это трудно... Прикрепляйте картинки к сообщениям. подробнее

Показать сообщение отдельно
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
09.07.2011, 21:17     3адача на массивы ( не вышло )
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <iostream>
using namespace std;
 
enum ticket_state {SMOKE,NOSMOKE,QUEST,NOPLACE};
int invite();
int is_free_in_nosmoke(int*);
int is_free_in_smoke(int*);
int print_info(int,ticket_state);
 
int main(){
    int plane[10]={0,0,0,0,0, 0,0,0,0,0};
    int option,place;
    while (option=invite()) {
        switch (option) {
        case 1: if (place=is_free_in_smoke(plane)) {
                   print_info(place,SMOKE);
                   break;}
                if (!(print_info(0,QUEST))) {
                   print_info(0,NOPLACE);
                   break;
                }
        case 2: if (place=is_free_in_nosmoke(plane)) print_info(place,NOSMOKE);
                else print_info(0,NOPLACE);
        case -1: break;
        }
    }
 
}
 
//приглашение для нового пассажира. возвращает цифру, если ввод правильный, иначе -1.
int invite () {
    int option;
    cout<<"vvedite 1 dlya kuryashih"<<endl<<"vvedite 2 dlya nekuryashih"<<endl<<"vvedite 0 dlya vihoda"<<endl;
    cin>>option;
    if (option>=0 && option<=2) return option;
    cout<<"neverniy vvod"<<endl;
    return -1;
}
 
//если есть место у курящих, возвращаем его номер. иначе 0.
int is_free_in_smoke(int plane[10]) {
    for (int i = 0; i < 5; i++)
        if (!plane[i]) {
            plane[i]=1;
            return i+1;
        }
    return 0;
}
 
//если есть место у некурящих, возвращаем его номер. иначе 0.
int is_free_in_nosmoke(int plane[10]) {
    for (int i = 5; i < 10; i++)
        if (!plane[i]) {
            plane[i]=1;
            return i+1;
        }
    return 0;
}
 
//в зависимости от аргумента st выводит нужную инфу о билете, либо отсутствии мест,
//либо предложение сменить салон
int print_info(int place,ticket_state st) {
    int option;
    switch (st) {
       case SMOKE: cout<<"mesto "<<place<<" v salone dlya kuryashih"<<endl;
              break;
       case NOSMOKE: cout<<"mesto "<<place<<" v salone dlya nekuryashih"<<endl;
                break;
       case QUEST: cout<<"jelaete mesto v salone dlya nekuryashih? 1-da, 2-net"<<endl;
              cin>>option;
              switch (option) {
                 case 1: return 1;
                 case 2: return 0;
                 default: return 0;
              }
       case NOPLACE: cout<<"sleduyushiy polet cherez 3 chasa"<<endl;
                break;
    }
}
работает в точности с условием задачи. т.е. если занят салон для некурящих, то НЕ будет предложен салон для курящих. что надо изменить, чтоб это условие работало, думаю, сам поймешь
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru