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

Сделать функцию, которая принимает одномерный массив и возвращает индексы трех его самых больших элементов(сортировку не использовать), указателями - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Адрес функции http://www.cyberforum.ru/cpp-beginners/thread793282.html
Доброго времени суток Допустим, хочу узнать адрес функции void fnc(){} int main() { cout<<&fnc<<endl; }
C++ Работа с файлом нужно вывести список отличников. как это сделать? подскажите пожалуйста #include <math.h> #include <iostream.h> #include <stdio.h> #include <io.h> #include <conio.h> #pragma hdrstop http://www.cyberforum.ru/cpp-beginners/thread793273.html
C++ точные квадраты
как проверить является ли число точным квадратом?
C++ Шифрование/Дешифрование - теряются два символа
Теряются два последних символа при декодировании ( если в цикле i <= size сделать, то 1 символ только) (см. скрин): string str = "djxgcjgfjkgykyjgfmgfmymygkuhku"; cout<<str<<endl; string crypt = encrypt(str); cout<<crypt; cout<<endl<<decrypt(crypt); string encrypt(string str){ string result; string ch;
C++ Неправильно работает cout для чисел типа double и float http://www.cyberforum.ru/cpp-beginners/thread793201.html
Здравствуйте. Скажите, почему эта программа выводит на экран число 2, а не 2.5 ? #include <iostream.h> int main() { double k=5/2; cout << k <<"\n"; }
C++ Вывод данных в файл Здравствуйте. Подскажите пожелуйсто как можно вывести данные в файл. Например я создал программу с неким списком и нужно сделать так, чтобы программа этот список сохранилабы в какомнибудь текстовом документе наприме. Ктонибудь знает сдесь как это можно сделать? подробнее

Показать сообщение отдельно
Vaiz
 Аватар для Vaiz
94 / 88 / 27
Регистрация: 01.07.2012
Сообщений: 262
Завершенные тесты: 1
23.02.2013, 21:50     Сделать функцию, которая принимает одномерный массив и возвращает индексы трех его самых больших элементов(сортировку не использовать), указателями
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void search(int *x, int n, int *max) //массив, размер, массив номеров макс элементов
{
int i;
max[0]=max[1]=max[2]=0;
for(i=1;i<n;i++)
{
if(x[i]>x[max1])
{
max[2]=max[1];
max[1]=max[0];
max[0]=i;
}
}
}
Не будет работать если максимальное число 1е. Чтобы работала надо искать минимальное и присваивать в начале массиву номер минимального числа.

Добавлено через 7 минут
Это если конкретно через указатели надо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void search(int *x, int n, int *max1, int *max2, int *max3) 
{
int i;
*max1=*max2=*max3=0;
for(i=1;i<n;i++)
{
if(x[i]>x[*max1])
{
*max[2]=*max[1];
*max[1]=*max[0];
*max[0]=i;
}
}
}
 
Текущее время: 00:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru