Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

Проблема в том, что нам это нужно решить с помощью оператора case!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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++
Вопрос в заголовке темы:)

23
crazygor1
6 / 6 / 1
Регистрация: 06.02.2010
Сообщений: 131
27.09.2011, 19:08 #2
Так ты реализовал задачу другим путём и просто не можишь через кейз?
Поищи синтаксис конструкции, не так уже оно сложнее ифов.
0
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
27.09.2011, 19:18  [ТС] #3
Я пытался сделать, но мне компилятор кучу ошибок выдал.
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.09.2011, 19:19 #4
Код в студию.
0
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
27.09.2011, 22:03  [ТС] #5
Это все что написал
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
 
 main() { int i,a[11];
        printf(" Ââåäèòå êðåäèòГ*ûå Г±ГІГ*ГўГЄГЁ ГЎГ*Г*ГЄГ*: ");
        for (i=0;i<=11;i++){
            scanf(" %i ",a[i]);
            }
            getch();
            }
Но неправильно
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.09.2011, 22:08 #6
Начнем с того, что вы вводите 12 банков, вместо 11. И при введении 12-го банка у вас идет выход за пределы массива.

Не по теме:

Мне одному кажется бредом делать эту задачу через case? Ладно бы было много условий.



Добавлено через 1 минуту
Ну и в scanf не %i а %d
1
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
27.09.2011, 22:16  [ТС] #7
Нет, мне тоже кажется что через case делать тупо. Но условие, есть условие..

Добавлено через 2 минуты
У меня после ввода первого банка, выбрасывает из проги!
Чего так?
0
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
27.09.2011, 22:22 #8
C
1
scanf( " %i ", &a[i] );
Вам же нужно передать адрес, по которому нужно записать прочтённое значение.

Добавлено через 3 минуты
Да, и не %i, а %d, как говорил soon.
1
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
27.09.2011, 22:22  [ТС] #9
Да!! Спасибо!! Все вводится правильно!!
Но как выполнить условие:
Посчитать количество банков, в которых кредитные ставки самые высокие и превышают 18 %.
Я так понимаю вначале нужно:
C
1
2
3
 for (i=0;i<=11;i++){
Что тут писать?
}
0
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
27.09.2011, 22:31 #10
Цитата Сообщение от Сидоренко Посмотреть сообщение
Что тут писать?
Код. Включайте мозги и придумывайте, как реализовать подсчёт этих банков.

Добавлено через 8 минут
Цитата Сообщение от soon Посмотреть сообщение
Мне одному кажется бредом делать эту задачу через case? Ладно бы было много условий.
soon, можно ведь и выкрутиться:

C
1
2
3
4
switch( /*logical expression*/ )
{
   case 1: /* actions */
}
1
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
27.09.2011, 22:35  [ТС] #11
Цитата Сообщение от Сидоренко Посмотреть сообщение
Посчитать количество банков, в которых кредитные ставки самые высокие
Это типа нужна сортировка???

Цитата Сообщение от Сидоренко Посмотреть сообщение
превышают 18 %.
Как это реализовать??

Я в этом ничего не понимаю, а они нам задают домой((
0
talis
792 / 544 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
27.09.2011, 22:37 #12
Сидоренко, если вы слышали о сортировке и дошли до массивов и конструкции switch, то точно должны были слышать о сравнениях чисел и подсчёте количества вхождений заданных значений в массив.
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.09.2011, 22:38 #13
soon, можно ведь и выкрутиться
Можно. В качестве бреда Имхо, преподаватель, поощряющий подобный код учит студентов плохому стилю. Может быть это и развивает нестандартное мышление, но можно ведь развить и другими способами. В самом деле, где, кроме как на олимпиадах может такое пригодиться? А если вдруг некоторые неправильно воспримут эту методику и будут менять в своем коде все if/else на switch/case? Кошмар же.
0
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
27.09.2011, 22:44  [ТС] #14
Вот, я сделал:
C
1
2
3
4
5
6
              for (i=0;i<=11;i++){ 
                  if(max<a[i]) {
                               max=a[i];
                               }
                               }
                  printf(" max kreditnaya stavka: %d ",max);
Все работает!!
Но я все таки не пойму как сделать :
Превышают 18%

Я так понимаю, в этой задаче нужно вывести банк, у которого кредитная ставка самая высокая..
Также, вывести банки, у которых кредитная ставка превышает 18% - Как это сделать??
Если не сложно может кто-то написать часть кода??

Цитата Сообщение от Сидоренко Посмотреть сообщение
и превышают 18 %.
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.09.2011, 22:49 #15
C
1
2
if(a[i] > 18)
    printf("profit!");
И вот это
C
1
 for (i=0;i<=11;i++){
Если у вас 11 банков, то будет выход за пределы массива, я, вроде уже отписывался по этому поводу
1
27.09.2011, 22:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2011, 22:49
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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