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

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

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

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

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

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

Проблема в том, что нам это нужно решить с помощью оператора case!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2011, 18:59     Решить задачу с помощью оператора case
Посмотрите здесь:
C++ задачу с оператора выбора case очень нужно : Пусть элементами равностороннего треугольника являются: 1.Сторона а; 2.Площад
C++ Использование оператора switch/case
C++ Составить программу с использованием оператора switch Case
C++ Составить программу вычисления значения функции с использованием оператора CASE
Решить задачу на C++ C++
C++ Не получается решить задачу
C++ Как решить задачу?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
crazygor1
6 / 6 / 1
Регистрация: 06.02.2010
Сообщений: 131
27.09.2011, 19:08     Решить задачу с помощью оператора case #2
Так ты реализовал задачу другим путём и просто не можишь через кейз?
Поищи синтаксис конструкции, не так уже оно сложнее ифов.
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
27.09.2011, 19:18  [ТС]     Решить задачу с помощью оператора case #3
Я пытался сделать, но мне компилятор кучу ошибок выдал.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.09.2011, 19:19     Решить задачу с помощью оператора case #4
Код в студию.
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
27.09.2011, 22:03  [ТС]     Решить задачу с помощью оператора case #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();
            }
Но неправильно
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.09.2011, 22:08     Решить задачу с помощью оператора case #6
Начнем с того, что вы вводите 12 банков, вместо 11. И при введении 12-го банка у вас идет выход за пределы массива.

Не по теме:

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



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

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

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

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

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

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

Я в этом ничего не понимаю, а они нам задают домой((
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
27.09.2011, 22:37     Решить задачу с помощью оператора case #12
Сидоренко, если вы слышали о сортировке и дошли до массивов и конструкции switch, то точно должны были слышать о сравнениях чисел и подсчёте количества вхождений заданных значений в массив.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.09.2011, 22:38     Решить задачу с помощью оператора case #13
soon, можно ведь и выкрутиться
Можно. В качестве бреда Имхо, преподаватель, поощряющий подобный код учит студентов плохому стилю. Может быть это и развивает нестандартное мышление, но можно ведь развить и другими способами. В самом деле, где, кроме как на олимпиадах может такое пригодиться? А если вдруг некоторые неправильно воспримут эту методику и будут менять в своем коде все if/else на switch/case? Кошмар же.
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
27.09.2011, 22:44  [ТС]     Решить задачу с помощью оператора case #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 %.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2011, 22:49     Решить задачу с помощью оператора case
Еще ссылки по теме:
помогите решить задачу C++
C++ помогите решить задачу по классам
Решить задачу с использованием рекурсии C++
C++ помогите решить матем задачу в C++
Функции в С помогите решить задачу C++

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

Или воспользуйтесь поиском по форуму:
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.09.2011, 22:49     Решить задачу с помощью оператора case #15
C
1
2
if(a[i] > 18)
    printf("profit!");
И вот это
C
1
 for (i=0;i<=11;i++){
Если у вас 11 банков, то будет выход за пределы массива, я, вроде уже отписывался по этому поводу
Yandex
Объявления
27.09.2011, 22:49     Решить задачу с помощью оператора case
Ответ Создать тему
Опции темы

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