Last active
August 4, 2020 17:14
-
-
Save Medvedoc/69e639aa79e479694a484d9deeb7a2d2 to your computer and use it in GitHub Desktop.
My_tasks_Dart_по_анонимным_функциям
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Задача 2. | |
Вы получите список чисел. Ваша задача вернуть сумму всех положительных чисел. | |
Пример: [1, -10, 9, -1] => 1 + 9 = 10 | |
Условия: | |
1. Список может быть пустым, в этом случае возвращаем 0. | |
2. Если в списке все отрицательные значения, то вернуть 0. | |
Входные данные: | |
[1, -10, 9, -1] | |
[-1, -2, -3] | |
[] | |
[1, 2] | |
Выходные данные | |
[1, -10, 9, -1] => 10 | |
[-1, -2, -3] => 0 | |
[] => 0 | |
[1, 2] => 3 | |
*/ | |
void main() { | |
//Задание 2 | |
print('Задание 2'); | |
//Вариант 1 | |
print('Вариант 1 - получение суммы всех положительных чисел без использования функции'); | |
List<int> numbers = [1, -10, 9, -1]; | |
numbers = numbers.where((element)=>element>0).toList(); | |
int count = 0; | |
for(int number in numbers) { | |
count += number; | |
} | |
print(count); | |
print('\n'); | |
//Вариант 2 | |
print('Вариант 2 - получение суммы всех положительных чисел с использованием функции'); | |
List<int> numbers2 = [1, -10, 9, -1]; | |
numbers2 = numbers2.where((element)=>element>0).toList(); | |
int count2 = 0; | |
for(int word22 in numbers2) { | |
count2 = operationNumbers(count2, word22, (a,b) => a=a+b); | |
} | |
print(count2); | |
print('\n'); | |
//Вариант 2.1 | |
print('Вариант 2.1 - получение суммы всех положительных чисел с использованием функции'); | |
List<int> numbers21 = [1, -10, 9, -1]; | |
print(numbers21.where((element)=>element>0).reduce((a, b) => a=a+b)); | |
print('\n'); | |
//Вариант 2.2 | |
print('Вариант 2.2 - получение суммы всех положительных чисел с использованием функции'); | |
List<int> numbers22 = [1, -10, 9, -1]; | |
print(int.parse(numbers22.where((element)=>element>0).fold(0, (a, b) => a + b).toString())); | |
print('\n'); | |
//Вариант 3 | |
print('Вариант 3 - получение суммы всех положительных чисел путем перебора всех списков с использование функции'); | |
var numbers3 = [[1, -10, 9, -1],[-1, -2, -3],[],[1, 2]]; | |
for (int i=0;i<numbers3.length;i++){ | |
numbers3[i] = numbers3[i].where((element)=>element>0).toList(); | |
int number3=0; | |
for(int word22 in numbers3[i]) { | |
number3 = operationNumbers(number3, word22, (a,b) => a=a+b); | |
} | |
print(number3); | |
} | |
print('\n'); | |
} | |
int operationNumbers (int a, int b, Function operation) { | |
return operation(a,b); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment