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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
Program cal; Type PList = ^TList; TList = record family: string[20]; name: string[20]; surname: string[20]; street: string[100]; block: string[10]; flat: integer; phone: string[50]; mark: integer; next: PList; end; streets = record street: string[100]; //название улицы count: integer; //число учеников end; procedure addAb(var head: plist; family:string[20]; name:string[20]; surname:string[20]; street:string[100]; block:string[10]; flat:integer; phone: string[50]); // структуры: фамилия, район, адрес, телефон, номер договора // дата заключения договора, оплата установки, дата последнего платежа. Поиск - по району. var cur: plist; begin new(cur); cur^.next := head; // Голова cur^.family := family; cur^.name:= name; cur^.surname:=surname; cur^.street:=street; cur^.block:=block; cur^.flat:=flat; cur^.phone:=phone; cur^.mark:=0; head := cur; end; // ШАПКА ГОТОВА Var i,j,n, flat, l,k: integer; family, name, surname: string[20]; block: string[10]; street: string[100]; phone: string[50]; head,f,f1: PList; str: array of streets; begin write('Сколько учеников в списке? '); readln(n); for i:=1 to n do begin write('Введите фамилию ученика: '); readln(family); write('Введите имя ученика: '); readln(name); write('Введите отчество ученика: '); readln(surname); write('Введите улицу: '); readln(street); write('Введите номер дома: '); readln(block); write('Введите номер квартиры: '); readln(flat); write('Введите телефон: '); readln(phone); addAb(head, family, name, surname, street, block, flat, phone); end; SetLength(str, n); f:=head; writeln; for i:=1 to n do begin writeln(' ', f^.family, ' ', f^.name, ' ', f^.surname, ', ул. ', f^.street, ', д. ', f^.block, ', кв. ', f^.flat, ', тел. ', f^.phone); f:=f^.next; end; // сставляем список улиц, на которых живёт больше одного студента в массив str l:=0; f:=head; for i:=1 to n do begin if (f^.mark=0) and (f^.phone<>'') then begin k := 1; f1 := f^.next; for j:=i+1 to n do begin if (f1^.mark = 0) and (f1^.phone <> '') and (f^.street = f1^.street) then begin k:=k+1; f1^.mark := 1; end; f1 := f1^.next; end; str[l].street := f^.street; str[l].count := k; l := l+1; end; f := f^.next; end; writeln; k := 0; for i:=0 to l-1 do if str[i].count > 1 then begin k := 1; writeln('На улице ', str[i].street, ' живёт ', str[i].count, ' студентов:'); f:=head; for j:=1 to n do begin if (f^.phone<>'') and (f^.street = str[i].street) then writeln(f^.family, ' ', f^.name, ' ', f^.surname, ', ', f^.phone); f := f^.next; end; writeln; end; if k = 0 then writeln('Не найдено учеников, живущих на одинаковой улице с одниковым именем.'); end. |
С++. Задачи с решениями. Одномерные массивы
к списку всех задач на массивы
к списку всех задач
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; |
Помогите пожалуйста написать программу на питон, которая будет находить в одномерном массиве минимальное чётное число и максимальное нечётное число.
Программа в основном написана, но не получается найти минимальное чётное число.
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
Все категории
- Фотография и видеосъемка
- Знания
- Другое
- Гороскопы, магия, гадания
- Общество и политика
- Образование
- Путешествия и туризм
- Искусство и культура
- Города и страны
- Строительство и ремонт
- Работа и карьера
- Спорт
- Стиль и красота
- Юридическая консультация
- Компьютеры и интернет
- Товары и услуги
- Темы для взрослых
- Семья и дом
- Животные и растения
- Еда и кулинария
- Здоровье и медицина
- Авто и мото
- Бизнес и финансы
- Философия, непознанное
- Досуг и развлечения
- Знакомства, любовь, отношения
- Наука и техника
9
Помогите пожалуйста С# Напишите программу Найдите наименьший четный элемент массива
1 ответ:
0
0
using System;
using static System.Console;
using System.Linq;
namespace ConsoleApp9
{
class Program
{
static void Main(string[] args)
{
Write(«Введите размер массива: «);
int[] a = new int[int.Parse(ReadLine())];
WriteLine(«Введите элементы массива: «);
WriteLine(«наименьший четный элемент: «+
a.Select(x => x = int.Parse(ReadLine())).Where(x => Math.Abs(x) % 2 == 0).Min().ToString());
ReadKey();
}
}
}
Читайте также
1) Роднина и биология 86 ≥ химия 74
2) Черепанова или (Биология 92 ≥ Химия 83)
3) Математика 74 ≥ 60 или (Информатика 43 ≤ 60)
4) Математика 94 ≥ 60 и информатика 64 ≥ 60
Program Name;
Var a, b, c, pr: integer;
Begin
a:= 3;
b:= 5;
c:= 6;
pr:= a*b*c;
Write( ‘ proizvedenie=’, pr);
End.
R — Red красный, G — green зеленый, В — blue синий, аддитивная цветовая модель.
Pascal abc……………….
В строке 70 символов
70*8/*=70 байт
Ответ 2
Во второй задаче ответ 3