Написать программу, выводящую сумму номеров строк, в которых последний код первой строки встречается в них столько-же раз, сколько он встречается в первой строке Формат ввода
Первая строка входного файла samecode.in (*) содержит число n - количество строк, полученных в результате эксперимента и через пробел дату эксперимента в формате чч:мм:. (1
Формат вывода
В единственную строку файла входного файла samecode.out (*) следует вывести ответ к задаче.
* Уважаемые участники олимпиады, если в день основного тура вы выбрали решать олимпиаду по комплекту задач "7-8 понимая, что тем самым теряете возможность участия в региональном этапе ВОШ, то у Вас во время основного тура, как-же, как и сейчас, будет возможность считывать данные со стандартного потока, т.е. с клавиатуры и выводить ответ на экран. Для всех остальных участников, которые пишут олимпиаду по основному комплекту "9-11 возможности работать со стандартным потоком ввода - вывода на основном этапе не будет.
Примечания
В первой строке последний код ’ft4’ встречается 3 раза. Среди следующих строк этот код встречается по три раза в третьей и в пятой строках. Т.о. ответ = 3+5 = 8.
a:
INPUT n
IF n < 1 OR INT(n) <> n OR n > 1000 THEN GOTO a
DIM a(n)
h=30000
FOR i = 1 TO n
b:
INPUT a(n)
IF a(n) < 1 OR INT(a(n)) <> a(n) OR a(n) > 30000 THEN GOTO b
IF INT ((a(n) - 4 ) / 10) = ((a(n) - 4) / 10) AND a(n) < h THEN h = a(n)
NEXT i
PRINT h
END
или:
n - количество чисел
i - цикловая переменная
a - натурально число
min - минимальное число, оканчивающееся на 4
Язык програмирования: Паскаль
var
n,i,a,min: integer;
begin
readln(n);
min := 30001;
for i := 1 to n do
begin
readln(a);
if (a mod 10 = 4) and (a < min) then
min := a;
end;
writeln(min)
end.
#include <iostream>
#include <iomanip>
#include <stdio.h>
using namespace std;
//функция вывода массива в консоль
void printArray (int arr[][4], int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << setw(5) << arr[i][j];
}
cout << endl;
} cout << endl;
}
//функция замены всех отрицательных элементов нулями
void taskOne (int arr[][4], int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (arr[i][j] < 0) arr[i][j] = 0;
}
}
}
//функция нахождения суммы парных элементов
void taskTwo (int arr[][4], int n) {
int sum = 0;
cout << "Сумма парных чисел (";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (arr[i][j] % 2 == 0 && arr[i][j] != 0) {
if(sum!=0) cout << ", "; //для красоты вывода)
cout << arr[i][j];
sum = sum + arr[i][j];
}
}
}
cout << ") = " << sum << endl << endl;
}
//функция нахождения среднего арифметическое мин и макс
void taskThree (int arr[][4], int n) {
int max = arr[0][0];
int min = arr[0][0];
for (int i = 0; i < n; i++) {
for (int j = 1; j < n; j++) {
// Понятное дело что минимальное число в массиве 0, но может имеется
// ввиду минимальное кроме 0. Если нет то проверку на ноль
// можно убрать arr[i][j] != 0
if (arr[i][j] != 0 && arr[i][j] < min) min = arr[i][j];
if (arr[i][j] > max) max = arr[i][j];
}
}
float result = float(max+min)/(n*n);
cout << "max = " << max << ", min = " << min <<endl;
cout << "Среднее арифметическое = " << result << endl <<endl;
}
int main() {
const int n = 4; //размер массива
int arr[n][n]; //объявляем двумерный массив размером 4 на 4
// Многомерный массив заполняется значениями с вложенных циклов.
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
arr[i][j] = rand() % 81 + (-40); // генерируем случайное число от -40 до 40
// rand() % N; возвращает число от 0 до N-1
// Если сгенерируется число 80 то отнимая 40 получим нужный максимум
// а если 0 - то -40, тоесть нужный нам минимум
}
}
// Выводим массив в консоль.
cout << "Сгенерированный массив 4 на 4" << endl << endl;
printArray(arr, n);
// №1 - Заменяем все отрицательные элементы нулями.
cout << "Задание №1" << endl << endl;
taskOne(arr, n);
printArray(arr, n);
// №2 - Заменяем все отрицательные элементы нулями.
cout << "Задание №2" << endl << endl;
taskTwo(arr, n);
// №3 - Заменяем все отрицательные элементы нулями.
cout << "Задание №3" << endl << endl;
taskThree(arr, n);
return 0;
}
На скриншоте вывод программы