Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 27
1

Напечатать названия моделей авто, у которых максимальная скорость больше 180 км/ч

18.09.2011, 16:52. Показов 2140. Ответов 14
Метки нет (Все метки)

Известны максимальные скорости 20 моделей легковых автомобилей. Все значения выражены в км/ч. напечатать названия моделей, у которых максимальная скорость больше 180 км/ч.

Помогите, пожалуйста, не силен пока в с++...
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.09.2011, 16:52
Ответы с готовыми решениями:

Напечатать названия моделей авто, у которых максимальная скорость превышает 180 км/ч
Известны максимальные скорости 20-ти моделей легковых автомобилей.Все значения выражены в...

Напечатать названия моделей,у которых максимальная скорость превышает 180 км/ч
Известны максимальные скорости 20-ти моделей легковых автомобилей.Все значения выражены в...

Напечатать названия моделей автомобилей, у которых максимальная скорость превышает 180 км/ч
Известны максимальные скорости 20-ти моделей легковых автомобилей.Все значения выражены в...

Вывести названия моделей машин, если их максимальная скорость больше 180 кмч
Недавно озадачился избыточностью кода, сейчас стал пытаться над этим активно работать. В связи с...

14
Каратель
Эксперт С++
6601 / 4020 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
18.09.2011, 16:55 2
Цитата Сообщение от Parushic Посмотреть сообщение
Помогите, пожалуйста, не силен пока в с++...
что мешает поднять свой уровень?
0
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 27
18.09.2011, 17:02  [ТС] 3
Цитата Сообщение от Jupiter Посмотреть сообщение
что мешает поднять свой уровень?
Путем рассмотрения примеров решения, хочу поднять свой уровень.
0
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
18.09.2011, 17:06 4
Цитата Сообщение от Parushic Посмотреть сообщение
Путем рассмотрения примеров решения, хочу поднять свой уровень.
Возьмите нормальную книгу по C++ и там все будет. Вы хотите, чтобы мы тут все возможные примеры С++ написали?
0
Каратель
Эксперт С++
6601 / 4020 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
18.09.2011, 17:07 5
Цитата Сообщение от Parushic Посмотреть сообщение
Путем рассмотрения примеров решения, хочу поднять свой уровень.
примеров на форуме валом, разбирайте, переделывайте, но вы же хотите сразу скопипастить и ничего не делать

да и на форуме есть поиск
0
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 27
18.09.2011, 17:09  [ТС] 6
Я не сказал, что мне нужно много примеров... Нужен хотя бы единственный пример для представления.
0
В астрале
Эксперт С++
8035 / 4792 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
18.09.2011, 17:24 7
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Структура : автомобиль.
Данные : название модели, скорость.
Массив из 20 объектов данной структуры.
Функция для вывода названий моделей тех элементов структуры, максимальная скорость которых более 180.

Реализовывайте. А пока вот вам вариант на С++, не советую его брать, объяснить все равно не сможете.

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
class auto_
{
public:
   auto_(const std::string& name_ = "empty", unsigned speed = 0):name(name_), max_speed(speed)
   {
   }
   const std::string getName() const {return name;}
   unsigned getSpeed() const {return max_speed;}
   void setName(const std::string& n) {name = n;}
   void setSpeed(unsigned max) {max_speed = max;}
private:
   std::string name;
   unsigned max_speed;
};
 
void print_more_than_180(const std::vector<auto_>& vec, std::ostream& os)
{
    os << "Autos with max speed more than 180 km/h" << std::endl;
    std::for_each(vec.begin(), vec.end(), [&os](const auto_& at)
    {
        if (at.getSpeed() > 180)
        {
            os << at.getName() << std::endl;
        }
     });
}
 
int main()
{
    std::vector<auto_> vec = 
    {
        auto_("lada", 150),
        auto_("porshe", 180),
        auto_("ferrari", 300),
        auto_("mersedes", 200)
    };
    print_more_than_180(vec, std::cout);
    return 0;
}
0
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 27
18.09.2011, 17:41  [ТС] 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
#include <iostream.h>
#include <string.h>
 
struct cars {
    
    int speed;
    char models[20];
} infocars;
    
    
 
    int main()
{
    int i = 0;
    
        if(i < 20) {
            
            cout << "Vvedite nazvanie mashini: "; 
            cin >> infocars.models[i];
            cout << "Vvedite skorost' mashini: ";
            cin >> infocars.speed[i];
                
                if(infocars.speed[i] > 180) {
                    
                    cout << "\n mashini so skorost'u >180 km/h: " << infocars.speed[i] << "\n";
                }   
        }
    return 0;
}
0
Уничтожитель печенек
281 / 209 / 49
Регистрация: 07.02.2010
Сообщений: 724
18.09.2011, 17:52 9
Parushic, грубо говоря, неправильно все. После закрывающей скобки структуры должна быть точка с запятой. Вы не создали объект структуры. Обращаетесь к элементу массива speed, хотя он не массив....
1
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 27
18.09.2011, 18:20  [ТС] 10
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
#include <iostream.h>
#include <string.h>
 
struct cars {
        
        int speed[20];
        char models[20];
};
        
        
 
        int main()
{
        int i = 0;
        
                if(i < 20) {
                        
                        cout << "Vvedite nazvanie mashini: "; 
                        cin >> infocars.models[i];
                        cout << "Vvedite skorost' mashini: ";
                        cin >> infocars.speed[i];
                                
                                if(infocars.speed[i] > 180) {
                                        
                                        cout << "\n mashini so skorost'u >180 km/h: " << infocars.speed[i] << "\n";
                                }       
                }
        return 0;
}
Вот, исправил! А как именно обращаться элементу speed?
0
Каратель
Эксперт С++
6601 / 4020 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
18.09.2011, 18:27 11
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
#include <iostream.h>
#include <string.h>
 
struct cars {
        
        int speed;
        char models[20];
} infocars[20];
        
        
 
        int main()
{    int i;
        for(i = 0; i < 20; ++i)
        {                
                        cout << "Vvedite nazvanie mashini: "; 
                        cin >> infocars[i].models;
                        cout << "Vvedite skorost' mashini: ";
                        cin >> infocars[i].speed;
         }                       
                                
          for (i = 0; i < 20; ++i)
         {                      
                  if(infocars[i].speed > 180) 
                  {        
                          cout << '\n' << infocars[i].name '\t' << infocars[i].speed << '\n';
                  }       
                }
        return 0;
}
1
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 27
18.09.2011, 19:22  [ТС] 12
cout << '\n' << infocars[i].name '\t' << infocars[i].speed << '\n';
без \t все нормально работает
0
Каратель
Эксперт С++
6601 / 4020 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
18.09.2011, 19:28 13
Цитата Сообщение от Parushic Посмотреть сообщение
cout << '\n' << infocars[i].name '\t' << infocars[i].speed << '\n';
без \t все нормально работает
ну дык читай что тебе транслятор пишет

замени это infocars[i].name на infocars[i].models
1
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 27
19.09.2011, 07:21  [ТС] 14
Цитата Сообщение от Jupiter Посмотреть сообщение
ну дык читай что тебе транслятор пишет

замени это infocars[i].name на infocars[i].models
да это понятно, я это заменил! и переделал строку в:

C++
1
2
cout << '\n' << infocars[i].name;
cout << '\t' << infocars[i].speed << '\n';
и все идеально
0
0 / 0 / 0
Регистрация: 18.09.2011
Сообщений: 27
03.10.2011, 20:58  [ТС] 15
Тема ап! Столкнулся с проблемой..
Как сделать, чтобы из txt файла читались марки машин? И как прицепить к ним желаемые скорости, чтобы потом вывелись машины, у которых скорость больше 180...

Добавлено через 16 минут
Помогите!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2011, 20:58

Напечатать названия моделей, у которых максимальная скорость превышает 180км/ч
Известны максимальные скорости 20-ти моделей легковых автомобилей. Все значения выражены в км/ч....

Напечатать слова, длина которых максимальная
Сделайте прогу по заданию, а то никак не получается. &quot;Напечатать слова, длина которых...

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

Напечатать число строк, длина которых больше заданной
Привет всем. Первый раз обращаюсь за помощью. Помогите плиз буду очень благодарен. Разработать...


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

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

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