|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.12.2016, 08:28 | #1 |
Новичок
Джуниор
Регистрация: 20.12.2016
Сообщений: 2
|
Помогите с перемещением printf из одной фунkции в другую
Помогите переместить printf из одной функции в другую.
Язык Си. Изначальное задание: Найти в массиве и вывести значение наиболее часто встречающегося элемента. Программу написал- работает корректно, НО вывод получившихся элементов на экран происходит в функции с решением (функция с именем digit в коде). То есть проблема заключается в том, что в функции digit не удается переместить printf("Значение: %d\n", ar[i]); в функцию с именем output, и чтобы программа работала так же как и сейчас... Я так думаю, что так как Здесь у меня printf в цикле. То есть printf будет работать и выводить значения на экран до тех пор пока цикл не завершиться. По этому нужно как-то сохранить накопленные значения в этом цикле, то есть скорее всего записать их в новый массив, после вернуть этот массив rerurn-ом и вывести на экран при помощи printf из функции output. Но сделать это у меня не получается.... Код #include <stdlib.h> #include <stdio.h> #include <locale.h> #define SIZE 6 int i, j,max, count; void input(int *ar) //Проверка ввода на тип { for (i = 0; i < SIZE; ++i) { printf("mas[%d] = ", i); if (!scanf_s("%d", &ar[i])) { printf("Введено некорректное значение\n"); system("pause"); exit(0); } } } int maxx(int *ar) //создаем цикл на максимальное кол-во повторений. { for (i = 0; i < SIZE; i++) { int count = 0; for (j = i; j < SIZE; j++) { if (ar[i] == ar[j]) { ++count; } } if (count > max) { max = count; } } return max; } void digit(int *ar) //перебираем элементы массива и сравниваем при каких значениях было достигнуто максимальное повторение. { for (i = 0; i < SIZE; i++) { count = 0; for (j = i; j < SIZE; j++) { if (ar[i] == ar[j]) { ++count; } } if (count == max) { printf("Значение: %d\n", ar[i]); } } } void output(int *ar, int max) { printf("Повторено в количестве: %d\n", max); } int main() { setlocale(LC_ALL, "Russian"); int arr[SIZE]; input(arr); //ввод массива maxx(arr); //количество повторений digit(arr); //повторяющееся значение output(arr, max); system("pause"); return 0; } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите переместить printf из одной функции в другую. | MasterYod | Помощь студентам | 0 | 20.12.2016 21:59 |
Скопировать id с одной таблицы на другую таблицу другую форму | Staziah2 | БД в Delphi | 1 | 08.09.2015 09:14 |
MS SQL SERVER 2005 копирование таблицы из ОДНОЙ БД В другую или перенести все строки из одной таблицы в другую | reihtmonbern | БД в Delphi | 4 | 17.07.2012 23:25 |
Помогите с интеграцией данных из одной книги в другую. | Lexeron | Microsoft Office Excel | 5 | 05.03.2009 13:01 |
Передача данных из одной таблицы в другую, при выборе одной ячейки | MickMick | Microsoft Office Excel | 6 | 06.10.2008 13:57 |