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

Вычислить номер максимального элемента массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сохранение программы в exe файле http://www.cyberforum.ru/cpp-beginners/thread372715.html
Какие dll библиотеки необходимы для запуска exe программы c++ кода?(Debug) P.S. Просто когда хочу запустить прогу на другом компе выскакивает ошибка что каких то dll не хватает для запуска.
C++ Кодировка файла Всем привет! Есть файл file.txt в кодировке windows-1251. Нужно написать программу, которая перекодирует этот файл в UTF-8. Заранее огромное спасибо! http://www.cyberforum.ru/cpp-beginners/thread372706.html
C++ Случайный выбор вопроса
Здравствуйте, как можно сделать так, чтобы выпадал случайный вопрос из нескольки добавленных в программу, тоесть например когда запускаешь программу он выдавал любой вопрос из 5 записанных в нем?
Работа с цифрами C++
Не могу понять, что в программе не так. Алгоритм правильный, но расчет не идет. Исходное задание: Напишите программу, принимающую с консоли большое целое число и выводящую его на консоль с...
C++ Генератор разбиений числа http://www.cyberforum.ru/cpp-beginners/thread372700.html
У нас есть шаблон структуры всех разбиений числа: //-- Gen.h #pragma once namespace combi { struct partition // генератор разбиений целого числа { short n, // исходное...
C++ разработать программу для МПУ.На С разработать программу для МПУ, для контроля и индикации параметров изменяющегося по случайному закону 8_разрядного двоичного кода. Результаты контроля должны выводиться на индикатор. Скорость... подробнее

Показать сообщение отдельно
alkagolik
Заблокирован
26.10.2011, 08:39
у вас много ошибок. я переписываю. выводит не то, потому что вы выводите адреса а не значения. вот переписал. добавил 5 кейс. Обратите внимание на строки 9 и 30. Возможно компилятор выдаст предупреждение, не стоит сильно переживать о нем. Все будет работать как часы.
код
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main()
{
    srand(time(NULL));
 
    char menu = 0;
    int ent = 0;
    int calc = 0;
    int iter, sum, max;
 
    int size;
    int * array;
    printf("Введите размер массива: ");
    scanf("%d", &size);
 
    array = (int*)malloc(size * sizeof(int));
 
    do
    {
        printf("1. Ввод элементов массива с клавиатуры.\n");
        printf("2. Ввод элементов массива случайным образом.\n");
        printf("3. Обработка массива.\n");
        printf("4. Вывод массива на экран.\n");
        printf("------------------------\n ");
        printf("0. Выход.\n");
 
        scanf("%d", &menu);
 
        switch (menu)
        {
            case 1:
                printf("Введите %d значений.\n", size);
                iter = 0; sum = 0; max = -1000000;
 
                for (int i = 0; i < size; i++)
                {
                    printf("Введите элемент №%d", i++);
                    scanf("%d", &array[i]);
                }
                ent = 1;
                calc = 0;
                break;
            case 2:
                iter = 0; sum = 0; max = -1000000;
                for (int i = 0; i < size; i++)
                    array[i] = rand() % 10;
                ent = 1;
                calc = 0;
                break;
            case 3:
                if (1 == ent)
                {
                    for (int i = 0; i < size - 1; ++i)
                    {
                        if (array[i] >= max)
                        {
                            sum = 0;
                            iter = i;
                            max = array[i];
                        }
                        sum += array[i + 1];
                    }
 
                    sum = (array[size - 1] >= max) ? 0 : sum;
                    iter = (sum) ? iter : size - 1;
                    calc = 1;
                }
                else
                {
                    printf("Сначало нужно ввести данные.\n");
                    printf("Выберите пункт меню 1 или 2.\n\n");
                }
                break;
            case 4:
                if (1 == calc)
                {
                    printf("Максимальный элемент: %d\n", max);
                    printf("Сумма элементов после максимального: %d\n", sum);
                }
                else
                {
                    printf("Сначало нужно произвести расчёт.\n");
                    printf("Выберите пункт меню 3.\n\n");
                }
                break;
            case 5:
                for (int i = 0; i < size; ++i)
                    printf("%i ", array[i]);
 
                puts("\n");
                break;
            case 0:
                break;
            default:
                    printf("Неверный пункт меню.\n");
        }
 
    }while(menu != 0);
 
    free(array);
 
    return 0;
}


пример работы
Введите размер массива: 10
1. Ввод элементов массива с клавиатуры.
2. Ввод элементов массива случайным образом.
3. Обработка массива.
4. Вывод массива на экран.
------------------------
0. Выход.
2
1. Ввод элементов массива с клавиатуры.
2. Ввод элементов массива случайным образом.
3. Обработка массива.
4. Вывод массива на экран.
------------------------
0. Выход.
3
1. Ввод элементов массива с клавиатуры.
2. Ввод элементов массива случайным образом.
3. Обработка массива.
4. Вывод массива на экран.
------------------------
0. Выход.
5
9 5 9 5 7 5 5 0 8 6

1. Ввод элементов массива с клавиатуры.
2. Ввод элементов массива случайным образом.
3. Обработка массива.
4. Вывод массива на экран.
------------------------
0. Выход.
4
Максимальный элемент: 9
Сумма элементов после максимального: 36
1. Ввод элементов массива с клавиатуры.
2. Ввод элементов массива случайным образом.
3. Обработка массива.
4. Вывод массива на экран.
------------------------
0. Выход.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru