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

Вычислить максимальный по модулю элемент массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить b=2*tg(x)+ 4/3 *ctg(y) http://www.cyberforum.ru/cpp-beginners/thread379277.html
Разработать программу для вычисления математического выражения. b=2*tg(x)+ 4/3 *ctg(y)
C++ как можно разбить на группы кучу переменных? пишу прогу которая высчитывает разную статистику и в ней переменных штук 30.. например int iOrdersLoss int iOrdersProfit int iPeriodsLoss int iPeriodsProfit double dExpectedPayoff http://www.cyberforum.ru/cpp-beginners/thread379276.html
Помогите сделать программку:С введенного текста вывести именно короткое слово. C++
С введенного текста вывести самое короткое слово.
C++ Поиск последнего файла
Доброго времени суток. У меня есть задача "получить список файлов (по расширению) в каталоге, их имена, выбрать из них последний скопированный в каталог, получить его имя в переменную для дальнейшего использования". Реализую так: int m; char p=""; int main(int argc, char* argv) { struct ffblk ffblk; int done,a2,a1,a,a3,a4,i,d; AnsiString fn,res,ds;
C++ Задачка на строки http://www.cyberforum.ru/cpp-beginners/thread379244.html
Помогите кто может, пожалуйста. Задана строка S. Найдите количество ее различных подстрок, включая пустую. Буквы подстроки могут идти не подряд в самой строке. Ввод В первой строке записана строка S (длина от 1 до 25). Вывод Выведите ответ. Пример:
C++ Срочно Народ помогите! первая задача///Массив заполнять случайными числами от -5 до 5. В одномерном массиве состоящем из 10 целых элементов вычислить: а)номер максимального элемента массива б)произведение элементов массива.расположеных между первым и вторым нулевыми элементами. преобразовать массив так.чтобы в первой его половине распологались элементы.стоявшие в нечетных позициях.а во второй половине... подробнее

Показать сообщение отдельно
DenCHS200
 Аватар для DenCHS200
32 / 32 / 1
Регистрация: 07.10.2011
Сообщений: 117
07.11.2011, 20:20     Вычислить максимальный по модулю элемент массива
1) вместо int _tmain(int argc, _TCHAR* argv[]) можешь просто написать int main(), это С++ у меня по-умолчанию пишет, можно стереть 2)а first=7 и second=7 это я написал, чтобы когда мы проверяли , ввели ли мы другие номера массива в эти переменные, вот только 7 испрвавь на числа больше 9 или меньше 0, эот моя ошибка(Просто такие числа (меньше 0 или больше 9)не будут присвоены из цикла do{} while, так как у нас массив из 10 элементов от 0 до 9, а если число в диапазоне от 0 до 9 будет переменным first и second присвоено, то значит в цикле было найдено положительное число)

Добавлено через 4 минуты
Вот полностью рабочая прога, я в первой забыл про последний пункт, где нули вконце выводить в массиве

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
#include <iostream>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    short int first=-1,second=-1,max,temp,i, array1[10];
    for(i=0;i<10;i++)//Заполняем массив элементами
        array1[i]=rand()%10-5;
    for(i=0;i<10;i++)
        cout<<endl<<array1[i];
 
//Ищем максимальный элемент по модулю
    if(array1[0]>0)
    max=array1[0];
    else max=-array1[0];
 
 
 
    for(i=1;i<10;i++)
    {
    if(array1[i]>=0)
        temp=array1[i];
    else
        temp=-array1[i];
    
    if(max<temp)
        max=temp;
 
    
    }
    cout<<endl<<"Maximum ABS element : "<<max;
    i=-1;   
    //Пункт Б : ищем 2 положительные числа
    //ищем первый положительный элемент
    do{i++;
    if(array1[i]>0)
    first=i;// Заносим номер первого положительного элемента
    }while((array1[i]<=0)&&(i<10));//проверяем, не все ли значения массива перебрали?
    
    do{
        i++;
    if(array1[i]>0)
    second=i;// Заносим номер второго положительного элемента
    }while((array1[i]<=0)&&(i<10));//проверяем, не все ли значения массива перебрали?
    
    if((second==7)||(first==7) )//Если исходные значения чисел first и second не изменились,
        // (а мы их проинициализировали вначале , как 7)то выводим сообщение, что нет двух положительных элементов
    cout<<"We not have two positive elements"<<endl;
    else{
        
    //в противном случае, считаем сумму между двумя этими числами и сохраняем её в переменную max
        max=0;
        for(i=first;i<=second;i++)
        max=max+array1[i];
    cout<<endl<<"SUMMA "<<max;
    
    }
 
    max=10;
    //затем упорядочиваем так, чтобы нули были последними элементами
    for(i=0;i<10;i++){
    if(array1[i]==0)
    {// просто обмениваем с последними элементами элементами, 
    temp=array1[i];
    array1[i]=array1[max];
    array1[max]=temp;
    max--;// для следующего элемента, который будет иметь на -1 индекс массива ,если встретится ноль
    
    }
    
    }
    // и выводим получившийся массив
    for(i=0;i<10;i++)
        cout<<endl<<array1[i];
 
    
    cin>>i;//Вводим любое число и жмём ENTER , чтобы закрыть прогу
    return 0;
}
 
Текущее время: 03:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru