С++. Задачи с решениями. Одномерные массивы
к списку всех задач на массивы
к списку всех задач
1. Удалить в массиве все числа, которые повторяются более двух раз.
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 |
int main() { int a[100]; int n=10; int i, j, count=0; srand(time(NULL)); for (i = 0; i < n; i++) { a[i]=rand()%20; cout<<setw(4)<<a[i]; } cout<<endl; for (i = 0; i < n; i++) { count=1; for (j=i+1; j<n; j++) { if (a[j] == a[i]) count++; } if (count > 2) { int one=a[i]; for (j=i; j<n; j++) { if (a[j]==one) { // удаляем for (int k=j+1; k<n; k++) { a[k–1]=a[k]; } n—; j—; } } i—; } } // www.itmathrepetitor.ru if (n==0) cout<<“empty array”<<endl; else for (int p = 0; p < n; p++) { cout<<setw(4)<<a[p]; } cout<<endl; getch(); return 0; } |
2. Введите одномерный целочисленный массив. Найдите наибольший нечетный элемент. Далее трижды осуществите циклический сдвиг влево элементов, стоящих справа от найденного максимума, и один раз сдвиг элементов вправо, стоящих слева от найденного максимума.
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 |
int main() { int* a; int n; // ввод n с проверкой do { cout<<“input n: “; cin>>n; } while (n<1); // выделение памяти a=new int [n]; // ввод с консоли значений массива for (int i=0; i<n; i++) { cout<<“input a[“<<i<<“]: “; cin>>a[i]; } //вывод исходного массива на экран cout<<“start: “<<endl; for (int i=0; i<n; i++) cout<<a[i]<<” “; cout<<endl; // поиск наибольшего нечетного int imax=–1; for (int i=0; i<n; i++) if (a[i]%2==1) { if (imax==–1) imax=i; else if (a[imax]<a[i]) imax=i; } if (imax==–1) // если нечетных нет вообще cout<<“no odd number”<<endl; else { // вывод на консоль наибольшего нечетного cout<<“max odd number: “<<a[imax]<<endl; cout<<“index : “<<imax<<endl; if (imax!=n–1) // если справа от него есть элементы for (int i=0; i<3; i++) // сдвиг три раза { int t=a[imax+1]; for (int j=imax+1; j<n–1; j++) // сдвиг a[j]=a[j+1]; a[n–1]=t; } if (imax!=0) // если слева от него есть элементы { int t=a[imax–1]; for (int j=imax–1; j>0; j—) // сдвиг a[j]=a[j–1]; a[0]=t; } // вывод на консоль результат cout<<“end: “<<endl; for (int i=0; i<n; i++) cout<<a[i]<<” “; cout<<endl; } // удаление памяти delete [] a; getch(); return 0; } |
3. Найдите сумму отрицательных элементов массива.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
int sum=0; for (int i=0; i<n; i++) { if (a[i]<0) { sum+=a[i]; } } if (!sum) { cout<<“no numbers < 0”; } else { cout<<“sum = “<<sum; } |
4. Найдите произведение элементов массива с нечетными номерами.
int p=1; for (int i=1; i<n; i+=2) { p*=a[i]; } cout<<“answer: “<<p<<endl; |
5. Найдите сумму элементов массива между двумя первыми нулями. Если двух нулей нет в массиве, то выведите ноль.
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 |
int i1=–1, i2=–1; for (int i=0; i<n; i++) { // www.itmathrepetitor.ru if (!a[i]) { if (i1==–1) i1=i; else if (i2==–1) i2=i; else break; } } if (i2==–1) { cout<<0; } else { if (i1==i2–1) cout<<“no numbers between zeros”; else { int s=0; for (int i=i1+1; i<i2; i++) s+=a[i]; cout<<“sum = “<<s; } } |
6. Найдите наибольший элемент массива.
int max=0; for (int i=1; i<n; i++) { if (a[i]>max) max=a[i]; } cout<<“max: “<<max<<endl; |
7. Найдите наименьший четный элемент массива. Если такого нет, то выведите первый элемент.
int imin=–1; for (int i=0; i<n; i++) { if ((!(a[i]%2) && (imin==–1 || a[imin]>a[i])) imin=i; } if (imin==–1) cout<<a[0]; else cout<<a[imin]<<endl; |
8. Преобразовать массив так, чтобы сначала шли нулевые элементы, а затем все остальные.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
int i1=0, i2=n–1; while (i1<i2) { // www.itmathrepetitor.ru while (i1 < i2 && !a[i1]) i1++; while (i2 > i1 && a[i2]) i2—; if (i1 < i2) { int tmp=a[i1]; a[i1]=a[i2]; a[i2]=tmp; } i1++; i2—; } |
9. Найдите сумму номеров минимального и максимального элементов.
int imax=0, imin=0; for (int i=1; i < n; i++) { if (a[i]>a[imax]) imax=i; if (a[i]<a[imin]) imin=i; } cout<<“answer: “<<imin+imax<<endl; |
10. Найдите минимальный по модулю элемент массива.
int min=abs(a[0]); for (int i = 1; i < n; i++) { if (min>abs(a[i])) min=a[i]; } // www.itmathrepetitor.ru cout<<“abs min: “<<min<<endl; |
#include <stdio.h> int main(void) { int lim, i = 0, max; printf("Введите количество элементов в массивеn"); scanf("%d", &lim); int mass[lim]; for(i = 0; i < lim; ++i) { mass[i] = 0; } i = 0; printf("Введите элемент массиваn"); while(scanf("%d", &mass[i]) && i < lim-1) { printf("Введите следующий элемент массива или другую клавишу для окончания вводаn"); ++i; } for(i = 0, max = 0; i < lim; ++i) { if(mass[i] > max && mass[i]%2 != 0) { max = mass[i]; } } if(max == 0) { printf("В массиве нет нечетных чиселn"); } else if(max != 0) { printf("Максимальный нечетный элемент массива = %dn", max); } return 0; }
Wizardsolo
+35
Решено
1 год назад
Информатика
Студенческий
Дан одномерный массив из 20 целых чисел. Найдите наибольший нечётный элемент массива. Выведите на экран его порядковый номер и значение. Входные данные для элементов массива задайте самостоятельно.
Смотреть ответ
1
Комментарии
Леганда555
тоже на Python?
Ответ
4
(4 оценки)
1
Леганда555
1 год назад
Светило науки – 96 ответов – 0 раз оказано помощи
a = list(map(int, input().split()))
print(‘порядковый номер:’, a.index(min(a)) + 1, ‘nзначение:’, min(a))
(4 оценки)
https://vashotvet.com/task/13489109
Помогите пожалуйста написать программу на питон, которая будет находить в одномерном массиве минимальное чётное число и максимальное нечётное число.
Программа в основном написана, но не получается найти минимальное чётное число.
n=int(input("Введите количество элементов, которые будут в списке:"))
b=[]
for i in range(0,n):
a=int(input("Элемент:"))
b.append(a)
c=[]
d=[]
for i in b:
if(i%2==0):
c.append(i)
else:
d.append(i)
c.sort()
d.sort()
count1=0
count2=0
for k in c:
count1=count1-1
for j in d:
count2=count2+1
print("Минимальное четное число:",c[count1+1])
print("Максимальное нечетное число",d[count2-1])
Kromster
13.5k12 золотых знаков43 серебряных знака72 бронзовых знака
задан 14 мая 2021 в 5:29
4
n = int(input("Введите количество элементов, которые будут в списке:"))
b = []
for i in range(n):
a = int(input("Элемент:"))
b.append(a)
c = []
d = []
for i in b:
if i % 2 == 0:
c.append(i)
else:
d.append(i)
c.sort()
d.sort()
print("Минимальное четное число:",c[0])
print("Максимальное нечетное число",d[-1])
ответ дан 14 мая 2021 в 5:42
DanisDanis
19.1k5 золотых знаков20 серебряных знаков55 бронзовых знаков
3
Решение на python задач с номером 25 егэ по информатике на поиск максимального элемента массива
В задачах с номером 25 егэ по информатике на поиск максимального элемента необходимо организовать ввод массива с клавиатуры, найти максимальный элемент массива, удовлетворяющий определенному условию. Разберем пример программы на python, которая ищет максимальный четный и максимальный нечетный элемент массива.
Код на Python для ввода с клавиатуры массива заданного размера. Подробно о работе с массивами в Python
a = []
n=10
for i in range(0, n):
a.append(int(input()))
Для максимального четного и нечетного элемента введем переменные и сначал присвоим им занечния первого элемента массива
maxc=a[0]
maxn=a[0]
В цикле for переберём все элементы массива и с помощью оператора условия в python if
сравним каждый нечетный элемент массива с текущим значением максимума, если этот элемент будет больше, то текущему максимуму присвоим значение этого элемента массива.
Чтобы проверить, является ли переменная четной, в условии нужно использовать выражение
переменная%2==0
Чтобы проверить, является ли переменная нечетной, в условии нужно использовать выражение
переменная%2!=0
Чтобы одновременно выполнялись оба условия, в условии if необходимо использовать логическую операцию and Подробно об условиях If в python
for i in range(0, n):
if a[i]%2==0 and a[i]>maxc:
maxc=a[i]
if a[i]%2!=0 and a[i]>maxn:
maxn=a[i]
Полная программа на Python, которая ищет максимальный четный и нечетный элемент массива
a = []
n=10
for i in range(0, n):
a.append(int(input()))
maxc=a[0]
maxn=a[0]
for i in range(0, n):
if a[i]%2==0 and a[i]>maxc:
maxc=a[i]
if a[i]%2!=0 and a[i]>maxn:
maxn=a[i]
print(‘максимальный четный элемент’,maxc)
print(‘максимальный нечетный элемент’,maxn)
Разберем решение на python задачи с номером 25 егэ по информатике на поиск максимального элемента массива.
Дан целочисленный массив из 10 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно Необходимо написать программу, которая позволяет найти и вывести максимальное значение среди двухзначных элементов массива, делящихся на 7. Если в исходном массиве нет элемента, значение которого является трёхзначным числом и при этом кратно 7, то вывести сообщение «Не найдено».
Организуем ввод массива с клавиатуры в python
a = []
n=10
for i in range(0, n):
a.append(int(input()))
max=1
Введем переменную max в которую будем записывать максимальное значение двузначных элементов массива. присвоим ей в начале программы значение 1. Если элементы удовлетворяющие нужному нам условию не будут найдены, то значение переменной max останется равным 1, это будет говорить о том что элементы не найдены
В цикле for перебираем все элементы массива и ищем максимум среди двузначных чисел
Двузначные элементы лежат в диапазоне от 10 до 99. Чтобы элемент был двузначным и делился на 7 в операторе условия необходимо, чтобы выполнялось сразу три условия одновременно
a[i]>9, a[i]<100, a[i]%7==0
Чтобы выполнялись все три условия необходимо в операторе условия If использовать логическую операцию and
for i in range(0, n):
if a[i]>9 and a[i]<100 and a[i]%7==0:
max=a[i]
В конце программы производится проверка найден ли хотя бы один элемент удовлетворяющий условию задачи, если элементы не найдены то выводится сообщение элементы не найдены
if max==1:
print(‘элементы не найдены’)
else:
print(‘максимальный элемент ‘, max)
Полная программа на python для поиска максимального двузначного элемента массива кратного 7
a = []
n=10
for i in range(0, n):
a.append(int(input()))
max=1
for i in range(0, n):
if a[i]>9 and a[i]<100 and a[i]%7==0 and a[i]>max:
max=a[i]
if max==1:
print(‘элементы не найдены’)
else:
print(‘максимальный элемент ‘, max)
Перейти к курсу python
Полезно почитать по теме решение на python задач с номером 25 егэ по информатике на тему массивы
Решение задач на python на массивы с накопителем
Решение задач на python на массивы на пары элементов массива
Поделиться:
Комментарии ()
Нет комментариев. Ваш будет первым!