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

нахождение наибольшего числа в массиве - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ задача с прямым течением времени, где ошибка? http://www.cyberforum.ru/cpp-beginners/thread706753.html
исправьте пжл где моя ошибка,не могу понять где:wall: Вот код: #include "stdafx.h" #include <conio.h> #include <math.h> #include <iostream> using namespace std; const int B=-1; float nu(float x) {
C++ Удалить слова из string (исправить код) Нужно удалить слова начинающиеся на маленькую букву, помогите исправить код! char s2 = {"abcdefghijklmnopqrstuvwxyz"}; int size3 = strlen(s2); int size = strlen(str); //..... for (int i=0;i<size;i++){ http://www.cyberforum.ru/cpp-beginners/thread706751.html
C++ Графическое меню в dOS
В общем я сделал меню чтобы кнопки были прямоугольными, как мне сделать их треугольными: class menu { int x0,y0,w,h,ots; char text; public: // class constructor menu(); // class destructor ~menu();
C++ Вызов метода производного класса через обращение к методу базового класса
Добрый день. Изучаю основы ООП, наткнулся на проблему. Если создавать классы внутри main.cpp, то всё нормально. Если же создавать в разных файлах, то компилятор ругается. Видимо, я где-то путаюсь и чего-то недообъявляю. Суть отражена в заголовке, но распишу немного подробнее: Есть класс world, и производный от этого класса класс player. У обоих классов есть функция void draw(). Хочу...
C++ Как при рекурсии не обнулять http://www.cyberforum.ru/cpp-beginners/thread706723.html
void List::RecRevers() { ListItem *tmp, *ptr = NULL, *start = first; tmp = first->next; first->next = ptr; ptr = first; first = tmp; if (first->next !=0)
C++ Исключение символов из строки Добрый день. есть задача: Дана строка символов. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелы внутри себя, будем называть словами. Исключить из строки слова, состоящие из символов русского и латинского алфавитов одновременно. как я понимаю нужно разбить строку на слова ограниченные пробелами, и потом с каждым из них работаем. я смог нарезать... подробнее

Показать сообщение отдельно
fuzzytoozy
8 / 8 / 1
Регистрация: 23.11.2012
Сообщений: 94

нахождение наибольшего числа в массиве - C++

23.11.2012, 17:47. Просмотров 1126. Ответов 4
Метки (Все метки)

Здравствуйте! У меня такая проблема: есть задача написать функцию, которая принимает в качестве аргумента адрес массива и количество элементов в нем, а возвращает индекс наибольшего элемента и собственно сам наибольший элемент. Может оно всё и гораздо проще и я что то сильно намудрил. У меня получилась программа, которая работает только для четного количества значений в массиве, как сделать её работающей и для нечетных ума пока что не хватает. Дело в том что в случае, если пользователь ввел нечетное количество элементов, то элемент массива str[++j] цикла for остается не инициализированным, а дальнейший цикл все равно производит операции сравнения с этим элементом, что естественно выливается в ошибку. Прошу сильно не пинать, помогите кто чем может =)
вот собственно сам код:

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
#include <iostream>
using namespace std;
int maxint(int []);
int main()
{
const int MAX = 80;
int str[MAX];
maxint(str);
system("PAUSE");
return 0;
}
int maxint(int str[])
{
int one,two,c;
c=0;
int biggest;
int ind = 0;
int county=0;
char ch;
int g = 0;
while(ch != 'n')
{
cout<<"Enter number: ";
cin>>str[g];
county++;
cout<<"Continue?(Y/N)";
cin>>ch;
g++;
}
one = str[0];
two = str[1];
if(one > two)
{
ind = 0;
biggest = one;
}
else
{
ind = 1;
biggest = two;
}
for(int j = 2; j<county; j++)
{
one = str[j];
two = str[++j];
if(biggest < one && biggest > two)
{
biggest = one;
ind = j-1;
}
if(biggest > one && biggest < two)
{
ind = j;
biggest = two;
}
if(biggest > one && biggest > two)
{
ind = ind;
biggest = biggest;
}
if(biggest < one && biggest < two)
{
if(one > two)
{
ind = j-1;
biggest = one;
}
else
{
ind = j;
biggest = two;
}
}
}
cout<<"Biggest entered number's index: "<<ind<<endl;
cout<<"Biggest entered number: "<<biggest<<endl;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru