Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
7 / 7 / 2
Регистрация: 16.09.2009
Сообщений: 410
1

Одномерные массивы. Алгоритмы поиска и сортировки.

21.09.2010, 23:26. Показов 1236. Ответов 18
Метки нет (Все метки)

Создать массив на 10 элементов!!! Найти наибольшее отрицательное число среди элементов с четными индексами.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2010, 23:26
Ответы с готовыми решениями:

Разветвляющиеся алгоритмы. Одномерные массивы
Доброго времени суток. Я учусь на заочке, а там сами знаете как учат. Так вот дали задание, где...

Алгоритмы сортировки и поиска
Помогите, пожалуйста!! Нужно выполнить сортировку целочисленного массива (поиск в массиве) из n...

Алгоритмы поиска и сортировки одномерных массивов
Элементы, которые присутствуют в нескольких экземплярах или в массиве А, или в массиве В (или в...

Алгоритмы поиска и сортировки в одномерных массивах символов
Сколько раз у заданном предложении встречаются слова "КСМ" и "СКС" ?

18
В астрале
Эксперт С++
8036 / 4793 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
21.09.2010, 23:39 2
Alston,

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
#include <iostream>
 
int main()
{
    const int size=10;
    int Arr[size];
    for(int i=0; i<size; ++i)
       std::cin>>Arr[i];
    int maxneg=0;
    for(int i=0; i<size; ++i)
    {
        if(Arr[i]<0)
    {
        maxneg=Arr[i];
        break;
    }
    }
    for(int i=0; i<size; ++i)
    {
         if(Arr[i]<0&&i%2==0&&Arr[i]>maxneg)
         { 
             maxneg=Arr[i];
         }
     }
     std::cout<<"Max: "<< maxneg <<'\n';
     return 0;
}
1
7 / 7 / 2
Регистрация: 16.09.2009
Сообщений: 410
21.09.2010, 23:41  [ТС] 3
Я очень юлагодарен, но можна с коментарями...=)))
0
В астрале
Эксперт С++
8036 / 4793 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
21.09.2010, 23:45 4
Ах нет. Корректен. 0 тоже четное. Ща комментарии подпишу.

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
#include <iostream>
 
int main()
{
    const int size=10;//Размер массива. Константа
    int Arr[size];//Массив размера size
    for(int i=0; i<size; ++i)//Цикл от 0 до size-1
       std::cin>>Arr[i];//Ввод элементов с клавы
    int maxneg=0;//Переменная максимальное негативное значение
    for(int i=0; i<size; ++i)//Цикл от 0 до size-1
    {
        if(Arr[i]<0&&i%2==0)//Если элемент меньше нуля и индекс четный
        {
            maxneg=Arr[i];//Максимальное негативное значение - число, которое подходит условию выше
            break;//после нахождения прекратить цикл
        }
    }
    for(int i=0; i<size; ++i)
    {
         if(Arr[i]<0&&i%2==0&&Arr[i]>maxneg)//Если элемент меньше нуля и индекс четный и элемент больше максимального нег. элемента
         { 
             maxneg=Arr[i];//Макс нег. значение - элемент массива удовлетворяющий условиям выше
         }
     }
     std::cout<<"Max: "<< maxneg <<'\n';//Печатаем макс элемент из отрицательных
     return 0;//Возвращаем ноль. Успешное завершение программы
}
1
Эксперт С++
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
21.09.2010, 23:48 5
Код корректен.
Чётное число — целое число, которое делится без остатка на 2: …−4, −2, 0, 2, 4, 6, 8…
1
7 / 7 / 2
Регистрация: 16.09.2009
Сообщений: 410
22.09.2010, 00:05  [ТС] 6
Спасибо=)))))))))

Добавлено через 12 минут
Я когда компилирую, появляется окно и ничево нет=( Может что то не так, первый пример работал...?
0
В астрале
Эксперт С++
8036 / 4793 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
22.09.2010, 00:10 7
Alston, Ничего и не должно быть. Просто пишите числа, либо через пробел, либо через ентер.
1
7 / 7 / 2
Регистрация: 16.09.2009
Сообщений: 410
22.09.2010, 00:15  [ТС] 8
Ага.... ето просто нужно ввести любые 10 цифр?
0
В астрале
Эксперт С++
8036 / 4793 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
22.09.2010, 00:19 9
Alston, Ну судя по условию задачи - да)
1
Freelance
Эксперт С++
2885 / 1820 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
22.09.2010, 00:19 10
Ну как любые,желатильно целечислинные
C++
1
int Arr[size];
0
7 / 7 / 2
Регистрация: 16.09.2009
Сообщений: 410
22.09.2010, 00:20  [ТС] 11
Спасибо, можете глянуть еще мою одну тему по криптографии?
0
17 / 17 / 7
Регистрация: 02.08.2010
Сообщений: 44
22.09.2010, 00:21 12
Вряд ли код правилен. Потому как может быть, что самым большим отрицательным значением будет обладать элемент с нечетным индексом, и именно его значение будет выведено на экран.
0
В астрале
Эксперт С++
8036 / 4793 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
22.09.2010, 00:26 13
chesser, Не-а. Код посмотрите как следует)

Добавлено через 1 минуту
C++
1
2
if(Arr[i]<0&&i%2==0)//При выборе максимума из негативных начального
if(Arr[i]<0&&i%2==0&&Arr[i]>maxneg)//При выборе максимума из негативных
1
Эксперт С++
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
22.09.2010, 00:29 14
Кстати проще и правильнее сделать так:
C++
1
for(int i=0; i<size; i += 2)
1
В астрале
Эксперт С++
8036 / 4793 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
22.09.2010, 00:31 15
Хохол, Да согласен. Насчет проще. Насчет правильнее. Варианты не различаются по сути.
0
Эксперт С++
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
22.09.2010, 00:32 16
По эффективности различаются.
1
В астрале
Эксперт С++
8036 / 4793 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
22.09.2010, 00:37 17
Хохол, Из-за проверки лишнего условия? Согласен. Здесь актуальнее цикл.
1
17 / 17 / 7
Регистрация: 02.08.2010
Сообщений: 44
22.09.2010, 00:40 18
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
#include <iostream.h>
#include <stdlib.h>
 
int main()
{const int size=10;
 int Arr[size]; 
 int i, j, maxneg=0;
 cout<<"Vvod elementov massiva"<<endl;
 for(i=0; i<size; i++)
 {cout<<"("<<i<<") = ";
   cin>>Arr[i];
 }  
 for(int i=0; i<size; i++, i++)
  if(Arr[i]<0)
   {if ((maxneg==0) || (Arr[i]>maxneg))
      maxneg=Arr[i];
    }
 if (maxneg==0)
  cout<<"Sredi elementov s nechetnymi indexami net otricatelnyh chisel"<<endl;
 else 
  cout<<"Max: "<< maxneg <<endl;
 system("pause"); 
 return 0;
}
1
В астрале
Эксперт С++
8036 / 4793 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
22.09.2010, 00:45 19
C++
1
for(int i=0; i<size; i++, i++)
Что это? Тогда уж i+=2;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2010, 00:45

Алгоритмы поиска и сортировки в массивах
Здравствуйте форумчане помогите решить вот такое задание:В массиве содержится не менее 10 записей...

Алгоритм решения задач внутренней сортировки и алгоритмы поиска информации
Ветвление. 1. Дано число m (1 £ m £ 12).Определить, к какому времени года относится месяц с...

Написать две функции сортировки массива целых чисел, реализующих заданные алгоритмы сортировки – один из класса квадрат
#include &lt;stdio.h&gt; #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &lt;stdlib.h&gt; #include...

Табулирование функции и поиск данных. Одномерные массивы. Двумерные массивы
Вычислить сумму первых четырех отрицательных элементов. В соответствии с п. 5.16 правил...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru