Tifani 5 / 5 / 0 Регистрация: 23.10.2012 Сообщений: 21 |
||||
1 |
||||
Найти номера нечетных элементов одномерного массива, подсчитать количество нечетных элементов11.11.2012, 20:22. Показов 7488. Ответов 10 Метки нет (Все метки)
Задача вроде пустяковая, но как-то не сходится.
Вроде так должно быть? Но как это правильно оформить? У меня с этим беда =(
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
11.11.2012, 20:22 |
10 |
pryda Неадекват и грубиян 310 / 297 / 301 Регистрация: 22.02.2010 Сообщений: 645 |
||||
11.11.2012, 20:48 |
2 |
|||
0 |
brunis 100 / 97 / 61 Регистрация: 08.08.2012 Сообщений: 163 |
||||
11.11.2012, 20:50 |
3 |
|||
0 |
5 / 5 / 0 Регистрация: 23.10.2012 Сообщений: 21 |
|
11.11.2012, 20:57 [ТС] |
4 |
brunis
0 |
PotatoLove 5 / 8 / 11 Регистрация: 06.11.2012 Сообщений: 36 |
||||
11.11.2012, 20:57 |
5 |
|||
поскольку данных мало, допридумывал сам
0 |
privit_91 13 / 13 / 0 Регистрация: 06.11.2012 Сообщений: 79 |
||||
11.11.2012, 20:58 |
6 |
|||
Вроде так, программа считает сумму нечетных элементов и выводит номера нечетных элементов.
0 |
5 / 8 / 11 Регистрация: 06.11.2012 Сообщений: 36 |
|
11.11.2012, 21:00 |
7 |
Что означает inc? увеличение переменной на 1
0 |
Paster Fob 296 / 274 / 194 Регистрация: 03.05.2012 Сообщений: 570 |
||||
11.11.2012, 21:02 |
8 |
|||
как много советчиков.
Что означает inc? Мы этого не проходили =( inc(j); то же что и j:=j+1;
1 |
5 / 5 / 0 Регистрация: 23.10.2012 Сообщений: 21 |
|
11.11.2012, 21:08 [ТС] |
9 |
Paster Fob
0 |
296 / 274 / 194 Регистрация: 03.05.2012 Сообщений: 570 |
|
11.11.2012, 21:23 |
10 |
byte это целочисленный тип данных диапозон чисел в нём от 0 до 255.
1 |
Неадекват и грубиян 310 / 297 / 301 Регистрация: 22.02.2010 Сообщений: 645 |
|
11.11.2012, 21:24 |
11 |
PotatoLove, при запросе размерности я хочу ввести 25…
0 |
nums = [1,2,3,4,5,6,7,8,9,10,11,12]
odds = [ n for n in nums if n%2 ]
print odds
Gives:
>>>
[1, 3, 5, 7, 9, 11]
This can be put into a function like so:
def getOdds(aList):
return [ n for n in aList if n%2 ]
Example usage:
myOdds = getOdds(nums)
print("{0} has {1} odd numbers which were {2}".format(nums,len(myOdds),myOdds))
print("The odd numbers sum to {0}".format(sum(myOdds)))
Produces:
>>>
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] has 6 odd numbers which were [1, 3, 5, 7, 9, 11]
The odd numbers sum to 36
As to what you’re doing wrong, you’re iterating over an iterable containing the elements 0
to size
this won’t always be the value of num
(unless num
is indeed range(size)
). Once you make i
represent a value in num
which you’re iterating over, if i%2 == 0
will mean it’s even, if you want odds, the number musn’t be divisible by two. Hence this should be changed to either if i%2 != 0
or if i%2
. You will also have to declare the odd
list before the for i ...
loop, so you can append the numbers in num
which meet the condition in the if i%2
selection control structure. You should appened the number in num
by doing odd.append(i)
, at the moment you’re reassigning odd a new value. You also should not be incrementing i
. ‘i’ should represent a number in num
not the index of the number in num
.
Пусть дано:Вывести номера всех минимальных нечетных элементов. Нумерация
начинается с нуля. Если таких элементов нет, то вывести сообщение об
этом.n =8 Массив =0, 5, 9, 1, 2, 7, 1, 3 Результат = 3 6
n =8 Массив= 2, 6, 10, 6, 8, 8, 8, 2 Результат = нечетных элементов нет
Вот мой вариант:
//вывести номера всех минимальных нечётных элементов массива
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Rus");
int n;
cout << "Введите размерность массива - ";
cin >> n;
int* a = new int[n];
for (int i = 0; i < n; i++)
{
cout << "a[" << i << "]= ";
cin >> a[i];
}
int min = a[0];
for (int i = 0; i < n; i++)
{
if (a[i] % 2 != 0)
{
if (a[i] < min) min = a[i];
}
else if (a[i] == min)
cout << "Номера всех минимальных нечётных элементов равна " << n;
cout << endl;
}
if (min % 2 == 0)
cout << "не чётных элементов нет/n" << endl;
cout << min << endl;
delete []a;
return 0;
}
Что тут не верно?Помогите исправить пожалуйста.Не серчайте,я только учусь работать с массивами…Задача всё ещё не решена.
Найти в массиве нечётные числа
Уровень сложности:
- Задание
- Решение
Дан массив размера n
, заполнить его случайными числами, Найти все нечётные числа массива.
Читаем у нас на сайте — Как работать с массивами. После создания массива, его необходимо заполнить случайными числами, а для этого нужно воспользоваться генератором случайных чисел. Пример работы программы смотрим ниже:
// array_even_numbers.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iostream> #include <ctime> using namespace std; int main(int argc, char* argv[]) { srand(time(0)); // генерация случайных чисел cout << "Enter size array: "; int array_size; cin >> array_size; int *ptrarray = new int [array_size]; // создание динамического массива for (int count = 0; count < array_size; count++) ptrarray[count] = (rand() % 99 + 1); //заполнение массива случайными числами с масштабированием от 1 до 99 cout << "array = "; for (int count = 0; count < array_size; count++) cout << ptrarray[count] << " "; // печать первоначального массива cout << "nRezult = "; for (int count = 0; count < array_size; count++) if ((ptrarray[count] % 2) != 0) // отсеиваем чётные числа cout << ptrarray[count] << " "; // печать нечётных значений элементов массива delete [] ptrarray; // высвобождение памяти cout << endl; system("pause"); return 0; }
Создаётся динамический массив, который заполняется случайными числами в диапазоне [1;99] и выполняется поиск нечётных чисел. Вот результат:
CppStudio.com
Enter size array: 20
array = 60 78 78 77 75 94 49 7 8 81 35 94 8 38 29 31 76 42 12 67
Rezult = 77 75 49 7 81 35 29 31 67
Следующие статьи помогут вам в решении данной задачи:
Оставить комментарий
Вы должны войти, чтобы оставить комментарий.
Помогите, пожалуйста написать программу! Дан массив целых чисел. Найти номера всех нечетных элементов. Если нечетных элем
Veronika Podkina
Знаток
(327),
на голосовании
10 лет назад
Дан массив целых чисел. Найти номера всех нечетных элементов. Если нечетных элементов нет в массиве, то должно быть напечатано соответствующее сообщение.
Голосование за лучший ответ
David
Гуру
(4330)
10 лет назад
Подсказки:
1) Нечетные это те которые делятся на 2 с остатком
2) Если это массив и нужно что-то отыскать – то речь идет об итерации над ним
Нужно просто начать итерацию и добавлять элементы исходя из условия задания
3) Если нечетных нет – значит имелось ввиду также хранить счетчик во время итерации. И в конце если счетчик равен 0, то значит нет элементов