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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
#1

Решить задачу с помощью оператора case - C++

27.09.2011, 18:59. Просмотров 1399. Ответов 23
Метки нет (Все метки)

Ввести с клавиатуры и сохранить в массиве В кредитные ставки каждого из 11 банков города. Посчитать количество банков, в которых кредитные ставки самые высокие и превышают 18 %.

Проблема в том, что нам это нужно решить с помощью оператора case!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2011, 18:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Решить задачу с помощью оператора case (C++):

задачу с оператора выбора case очень нужно : Пусть элементами равностороннего треугольника являются: 1.Сторона а; 2.Площад - C++
Помогите решить задачу с помощью оператора выбора case очень нужно плиз: Пусть элементами равностороннего треугольника являются: ...

Использование оператора switch/case - C++
Недавно начал изучать C++ и решил написать простенький калькулятор, в итоге получил ошибки. #include <iostream> #include <conio.h> ...

Решить прикладную задачу с помощью циклического вычислительного процесса - C++
Помогите решить...Не знаю как... Решить прикладную задачу с помощью циклического вычислительного процесса. Дано натуральное n....

Составить программу с использованием оператора switch Case - C++
помогите составить программу с использованием оператора switch...case

Составить программу вычисления значения функции с использованием оператора CASE - C++
Составить программу вычисления значения функции с использованием оператора CASE при целом x и вещественных a,b,c: y=\begin{cases} ...

Можно ли как-то заставить сработать одновременно все case у оператора switch? - C++
Вопрос в заголовке темы:)

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
27.09.2011, 22:55 #16
Сидоренко, варианта два. либо имелось ввиду "подсчитать банки, кредитная ставка которых превышает 18%", либо, как и написано, "если есть банки с кредитной ставкой выше 18%, подсчитать банки с максимальным значением кредитной ставки".
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
27.09.2011, 23:14  [ТС] #17
Звучит так:
Посчитать количество банков, у которых кредитные ставки самые большие и превышают 18%
Значит нам нужно количество банков - k
И выходит:
C
1
2
3
4
5
6
for (i=0;i<=10;i++){ 
                  if(min>a[i] && a[i]>18) {
                               k++;
                               }
                               }
                  printf(" kolichestvo bankov: %d ",k);
Но меня смущает число 18, все таки сказано 18% а не 18. И это
У которых кредитная ставка самая большая
Самая большая от чего??
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
27.09.2011, 23:16 #18
Кредитные ставки выражаются в процентах от суммы кредита. Вы в самом начале вводите кредитные ставки банков.

Добавлено через 20 секунд
Цитата Сообщение от Сидоренко Посмотреть сообщение
Самая большая от чего??
Надо полагать, максимальная среди данных.
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
27.09.2011, 23:22  [ТС] #19
Цитата Сообщение от talis Посмотреть сообщение
Надо полагать, максимальная среди данных.
Да, но нам нужно вывести несколько банков...
Я взял число min=10. И решил что буду выводить банки у которых кредитная ставка больше 10 и естественно по условию задачи больше 18%.
Я вот написал весь код программы, можете проверить на ошибки, и посоветовать куда всунуть case ??
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
 
 main() { int i,a[10],min=10,k=0;
        printf(" Vvedite kreditnie stavki banka: ");
        for (i=0;i<=11;i++){
            scanf(" %d ", &a[i]);
            }
            
              for (i=0;i<=10;i++){ 
                  if(min>a[i] && a[i]>18) {
                               k++;
                               }
                               }
                  printf(" kolichestvo bankov: %d ",k);
                 
            getch();
            }
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.09.2011, 23:32 #20
Гляньте пост #10. Засовываете вместо if. Должно сработать.
Ну и вы так и не исправили ошибку с циклом! Ну, т.е. одну исправили, а в 8 строке - нет.
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
27.09.2011, 23:49  [ТС] #21
Вот что я с case накрутил:
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
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
 
 main() { int i,a[10],k=0,t;
        printf(" Vvedite kreditnie stavki banka: ");
        for (i=0;i<=10;i++){
            scanf(" %d ", &a[i]);
            }
            
              for (i=0;i<=10;i++){ 
                  if(a[i]>18) {
                               k++;
                               }
                               }
 
                               if (k=0){ t=1;}
                               else {t=2}
                               switch (t):
                                      case 1: { printf(" Net chisel"); 
                                      break;}
                                      case 2: { printf(" kolichestvo bankov: %d ",k);
                                      break;}                  
            getch();
            }


Не знаю.. Но условие задачи вроде соблюдено...
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
28.09.2011, 00:02 #22
В общем так. Вот подсчёт необходимых банков:

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
#include <iostream>
 
using namespace std;
 
int main( )
{
    cout << "Enter 11 numbers:\n";
 
    unsigned max = 0,
             max_count = 0;
 
    for( int i = 0; i < 11; i++ )
    {
       int bank;
       cin >> bank;
 
       if( bank > max && bank > 18 )
       {
          max = bank;
          max_count = 1;
       }
       else if( bank == max )
          max_count++;
    }
 
    if( max )
       cout << "Maximal credit rate is " << max
            << ". " << max_count << " banks use this credit rate.\n";
    else
        cout << "There are no banks that use credit rate greater then 18%\n";
 
    return 0;
}
Массив и switch прикрутите сами.
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
28.09.2011, 00:50  [ТС] #23
кстати, а чего моя программа не подходит?
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
28.09.2011, 00:52 #24
Сидоренко, по условию, нужно подсчитать количество банков с максимальной кредитной ставкой, если она больше 18 процентов. Ваша просто подсчитывает количество банков, у которых кредитная ставка больше 18 процентов.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2011, 00:52
Привет! Вот еще темы с ответами:

Решить задачу на C++ - C++
Пожалуйста! Очень срочно! Помогите. Нужно решить задачу на C++. Необходимо решить только под номером 24 в прикрепленном изображении....

Не получается решить задачу - C++
Поле first — вещественное число, левая граница диапазона; поле second — вещественное число, правая граница диапазона. Реализовать метод...

помогите решить задачу - C++
Написати програму в C++ яку водиться: Дата/Місяць/Рік і виводитись має Місяць/День/Рік але вводитись має число а виводитись...

Как решить задачу? - C++
Вводим 8 городов, количество жителей, статус (мегаполис больше 25 тыс., город меньше 25 тыс., поселок городского типа до 5000). Вывести...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.09.2011, 00:52
Ответ Создать тему
Опции темы

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