С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
2 / 2 / 0
Регистрация: 19.11.2009
Сообщений: 65

Дано 10 чисел, вводимых с клавиатуры. найти два крупнейших числа и их номера

16.10.2011, 17:30. Показов 1406. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть 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
int  poz1, poz2, max1,max2;//
using namespace std;
    cout<<"vvedit 10 chusel: \n";
    max1=max2=0;
    cin >> b;
        if(b>max1) {max1 = b; poz1=1; poz2=2;}
        cin >> c;
        if(c>max1) {max2 = max1; max1 = c; poz2=2; poz1=1;}
        cin >> d;
        if(d>max1) {max2 = max1; max1 = d; poz2=3; poz1=2;}
        cin >> e;
        if(e>max1) {max2 = max1; max1 = e; poz2=4; poz1=3;}
        cin >> f;
        if(f>max1) {max2 = max1; max1 = f; poz2=5; poz1=4;}
        cin >> g;
        if(g>max1) {max2 = max1; max1 = g; poz2=6; poz1=5;}
        cin >> h;
        if(h>max1) {max2 = max1; max1 = h; poz2=7; poz1=6;}
        cin >> i;
        if(i>max1) {max2 = max1; max1 = i; poz2=8;poz1=7;}
        cin >> j;
        if(j>max1) {max2 = max1; max1 = j; poz2=9;poz1=8;}
        cin >> k;
        if(k>max1) {max2 = max1; max1 = k; poz2=10;poz1=9;}
cout << "MAX2 is : " << max1 << "\nMAX1 is :" << max2<<"\n";
cout<<"nomer max1 is:"<<poz1<<"\n"<<"nomer max2 is:"<<poz2;
_getch();   
return 0;
может как-то по другому можно разрешить, но без использования цикла.

 Комментарий модератора 
Один вопрос - одна тема!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.10.2011, 17:30
Ответы с готовыми решениями:

В последовательности чисел, вводимых с клавиатуры, найти все простые числа и вывести их значения на экран (Code::BLocks)
Не идет цикл #include &lt;stdio.h&gt; int main() { int n,i; // число int d; // делитель int r; // остаток от...

Найти числа, лежащие в интервале [-13,13], в последовательности 20 чисел, вводимых с клавиатуры
Написать программу поиска чисел, лежащих в интервале , в последовательности 20 чисел, вводимых с клавиатуры. Пример: Ввод: -10 -6 20 52...

Найти номер наименьшего положительного числа в последовательности произвольных чисел, вводимых с клавиатуры
Помогите пожалуйста с задачей Pascal последовательности!:help: Найти номер наименьшего положительного числа в последовательности...

13
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
16.10.2011, 17:45
Цитата Сообщение от ghjas Посмотреть сообщение
может как-то по другому можно разрешить, но без использования цикла.
А почему без использования цикла или это вам так хочется?
Цитата Сообщение от ghjas Посмотреть сообщение
C++
1
max1=max2=0;
А если все числа отрицательные и их нужно сравнивать. Обычно в таких случаях присваивают значения первых элементов списка. В коде ещё непонятные символы b и c нигде не объявленные.
0
2 / 2 / 0
Регистрация: 19.11.2009
Сообщений: 65
16.10.2011, 17:48  [ТС]
задание такое. без цикла из 10 чисел которые ввели с клавиатуры выбрать 2 наиболее крупные и указать их позиции.

мой код работает но не во всех случаях.
надо доделать или переделать
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
16.10.2011, 17:59
ghjas, сделай через рекурсию
0
2 / 2 / 0
Регистрация: 19.11.2009
Сообщений: 65
16.10.2011, 18:01  [ТС]
ето как?
мы еще не учили такого
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
16.10.2011, 18:04
Цитата Сообщение от ghjas Посмотреть сообщение
ето как?
http://en.wikipedia.org/wiki/Recursion, http://en.wikipedia.org/wiki/R... r_science)
Цитата Сообщение от ghjas Посмотреть сообщение
мы еще не учили такого
как по мне, тебе выпал отличный шанс узнать что-то новое
0
2 / 2 / 0
Регистрация: 19.11.2009
Сообщений: 65
16.10.2011, 18:07  [ТС]
да если бы время было. на завтра сдать надо
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
16.10.2011, 18:08
ghjas, а обычные функции вы уже проходили?
0
2 / 2 / 0
Регистрация: 19.11.2009
Сообщений: 65
16.10.2011, 18:12  [ТС]
еще нет
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
16.10.2011, 18:23
Вот через рекурсию, выглядит топорно, но пока ничего лучше в голову не пришло:
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
#include <stdio.h>
#include <stdlib.h>
 
struct search_result
{
    int first, second;
    size_t n_first, n_second;
};
 
void search_two_max(struct search_result*, size_t, size_t);
 
int main()
{
    struct search_result mm;
 
    int a, b;
    size_t i = 1;
        
    puts("Input 10 numbers");
 
    printf("%02u> ", i++);
    scanf("%d", &a);
    printf("%02u> ", i++);
    scanf("%d", &b);
 
    if(a > b)
    {
    mm.first = a;
    mm.n_first = 1;
    mm.second = b;
    mm.n_second = 2;
    }
    else
    {
    mm.first = b;
    mm.n_first = 2;
    mm.second = a;
    mm.n_second = 1;
    }
 
    search_two_max(&mm, i, 10);
 
    printf("The first max number is %d (#%u), the second one is %d (#%u)\n",
       mm.first, mm.n_first, mm.second, mm.n_second);
    
    exit(0);
}
 
void search_two_max(struct search_result* mm, size_t curr, size_t last)
{
    int num;
    
    if(curr > last)
    return;
 
    printf("%02u> ", curr);
    scanf("%d", &num);
 
    if(num > mm->first)
    {
    mm->second = mm->first;
    mm->n_second = mm->n_first;
    mm->first = num;
    mm->n_first = curr;
    }
    else if(num > mm->second)
    {
    mm->second = num;
    mm->second = curr;
    }
    
    search_two_max(mm, curr + 1, last);
}
1
2 / 2 / 0
Регистрация: 19.11.2009
Сообщений: 65
16.10.2011, 18:33  [ТС]
буду разбираться, может и такое подойдет.
а если нет, то будет 2
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
16.10.2011, 20:07
Цитата Сообщение от ghjas Посмотреть сообщение
мы еще не учили такого
А оператор goto? )
0
2 / 2 / 0
Регистрация: 19.11.2009
Сообщений: 65
16.10.2011, 21:53  [ТС]
так, учили. я пробовал сымитировать цикл, но не получилось.
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
16.10.2011, 23:04
Вариант с goto
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
#include <iostream>
 
int main()
{      
   int max1, max2;
   std::cin >> max1 >> max2;
 
   int pos1 = 1, pos2 = 2;
   
   if(max1 < max2)
   {
      int t = max1;
      max1 = max2;
      max2 = t;
 
      pos1 = 2;     
      pos2 = 1;
   }         
 
   int i = 3;
   int val;
 
start_loop:
   std::cin >> val;
   if(max1 < val)
   {
      max2 = max1;
      pos2 = pos1;
 
      max1 = val;
      pos1 = i;
   }  
   else if(max2 < val)
   {
      max2 = val;
      pos2 = i;
   }
   if(i++ < 10) goto start_loop;
 
   std::cout << "max1: " << max1 
         << "\nposition: " << pos1 << "\n\n"
             << "max2: " << max2
         << "\nposition: " << pos2 << "\n";
   return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.10.2011, 23:04
Помогаю со студенческими работами здесь

Дано последователность чисел вводимых с клавиатуры подсчитать их сумму для окончания ввода нужна ввести 0
Дано последователность чисел вводимых с клавиатуры подсчитать их сумму для окончания ввода нужна ввести 0

Вводится последовательность из М чисел, найти два наибольших числа и их порядковые номера
Задание в Visual Basic. Составить блок-схемы и программы задачи (использовать цикл с параметром, предусловием и постусловием) отладить и...

Ввести N чисел с клавиатуры. Найти два наибольших числа
Здравствуйте. Я не давно начал работать с C#, мне попалась задачка и у меня возникли с ней трудности. Помогите пожалуйста решить: ...

Даны два числа А и В. Найти последовательность из n чисел (n дано) C1, C2, C3, … ,Cn, таких что C1 = А; C2 = C
Даны два числа А и В. Найти последовательность из n чисел (n дано) C1, C2, C3, … ,Cn, таких что C1 = А; C2 = C1 + d; C3 = C2 + 2d; C4 =...

С клавиатуры вводится два числа. Найти произведение цифр этих чисел
с клавиатуры вводится два целый числи. найти произведение цифр этих чисел.


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru