1.Дан массив из 8 элементов. Элементы вводятся с клавиатуры. Найти произведение четных элементов массива (четный элемент-если его номер делится на 2 с остатком 0)
1. Короткое решение для числа произвольной длины (на символьной строке)
var s:string; c:char; begin Write('Введите натуральное число: '); Readln(s); Write('введите искомую цифру: '); Readln(c); if Pos(c,s)>0 then Writeln('Такая цифра в числе есть') else Writeln('Такой цифры в числе нет') end.
Тестовое решение Введите натуральное число: 43543232 введите искомую цифру: 4 Такая цифра в числе есть
2. Более традиционное решение с целочисленными переменными
var s,c:integer; brk:boolean; begin Write('Введите натуральное число: '); Read(s); Write('введите искомую цифру: '); Read(c); brk:=false; repeat if s mod 10=c then brk:=True; s:=s div 10 until brk or (s=0); if brk then Writeln('Такая цифра в числе есть') else Writeln('Такой цифры в числе нет') end.
Тестовое решение Введите натуральное число: 43543232 введите искомую цифру: 6 Такой цифры в числе нет
Відповідь:
1.Дан массив из 8 элементов. Элементы вводятся с клавиатуры. Найти произведение четных элементов массива (четный элемент-если его номер делится на 2 с остатком 0)
#include <iostream>
using namespace std;
void cinarr(int *arr, const int SIZE){
int counter = 1;
for(int i = 0 ; i < SIZE ; i++){
cout << "Введите " << counter << " елемент: ";
cin >> arr[i];
counter++;
}
}
int sumev(int *arr,const int SIZE){
int sum = 0;
for(int i = 0 ; i< SIZE ; i++){
if(i % 2 != 0){
sum += arr[i];
}
}
return sum;
}
const int SIZE = 8;
int main() {
setlocale(LC_ALL , "Rus");
int arr[SIZE];
cinarr(arr,SIZE);
cout << "Сума парных елементов = " << sumev(arr,SIZE) << endl;
return 0;
}
2.Дан массив из 14 элементов. Элементы заполнены из промежутка 12;92. Найти сумму элементов
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
void randarr(int *arr, const int SIZE){
for(int i = 0 ; i < SIZE ; i++){
arr[i] = rand() % 92 + 12;
}
}
void printarr(int *arr , const int SIZE){
for(int i = 0 ; i < SIZE ; i++){
cout << arr[i] << " ";
}
}
int sumelements(int *arr, const int SIZE){
int sum = 0;
for(int i = 0 ; i < SIZE ; i++){
sum += arr[i];
}
return sum;
}
const int SIZE = 14;
int main(){
setlocale(LC_ALL , "Rus");
srand(time(NULL));
int arr[SIZE];
randarr(arr,SIZE);
printarr(arr,SIZE);
cout << "\nСума всех елементов массива = " << sumelements(arr,SIZE) << endl;
return 0;
}
Пояснення:
var
s:string;
c:char;
begin
Write('Введите натуральное число: ');
Readln(s);
Write('введите искомую цифру: ');
Readln(c);
if Pos(c,s)>0 then
Writeln('Такая цифра в числе есть')
else
Writeln('Такой цифры в числе нет')
end.
Тестовое решение
Введите натуральное число: 43543232
введите искомую цифру: 4
Такая цифра в числе есть
2. Более традиционное решение с целочисленными переменными
var
s,c:integer;
brk:boolean;
begin
Write('Введите натуральное число: ');
Read(s);
Write('введите искомую цифру: ');
Read(c);
brk:=false;
repeat
if s mod 10=c then brk:=True;
s:=s div 10
until brk or (s=0);
if brk then
Writeln('Такая цифра в числе есть')
else
Writeln('Такой цифры в числе нет')
end.
Тестовое решение
Введите натуральное число: 43543232
введите искомую цифру: 6
Такой цифры в числе нет