001: SumArray simples
-
Preencha o modelo PrintArray, para que a saída do programa seja: TomJackMaryJohn 10 Não escreva a função SumArray
-
#include <iostream> #include <string> usando o namespace std; modelo <classe T> T SumArray (
// Adicione seu código aqui
-
} int main () { string array [4] = {"Tom", "Jack", "Maria", "João"}; cout << SumArray (matriz, matriz + 4) << endl; int a [4] = {1, 2, 3, 4}; // 提示: 1 + 2 + 3 + 4 = 10 cout << SumArray (a, a + 4) << endl; retornar 0; }
- Entrada
- Nenhuma
- Saída
-
TomJackMaryJohn
10 - Entrada de amostra
-
Nenhuma
- Saída de amostra
-
TomJackMaryJohn 10
#include <iostream> #include < string > usando o namespace std; modelo < classe T> T SumArray (T * _start, T * _end) { // 在 此处 补充 你 的 代码 T sum = * _start; while (++ _ start < _end) { sum = sum + * _start; } soma de retorno ; } int main () { string array [ 4 ] = { " Tom " , " Jack " ," Maria " , " João " }; cout << SumArray (matriz, matriz + 4 ) << endl; int a [ 4 ] = { 1 , 2 , 3 , 4 }; // 提示: 1 + 2 + 3 + 4 = 10 cout << SumArray (a, a + 4 ) << endl; retornar 0 ; }
002: foreach simples
Escreva o modelo MyForeach para produzir o programa conforme necessário
#include <iostream> #include <string> usando o namespace std;
// Adicione seu código aqui
Impressão nula (string s) { cout << s; } void Inc (int & n) { ++ n; } Matriz de cadeia [100]; int a [100]; int main () { int m, n; while (cin >> m >> n) { para (int i = 0; i <m; ++ i) cin >> array [i]; para (int j = 0; j <n; ++ j) cin >> a [j]; MyForeach (matriz, matriz + m, Imprimir); cout << endl; MyForeach (a, a + n, Inc); for (int i = 0; i <n; ++ i) cout << a [i] << ","; cout << endl; } retornar 0; }
Insira vários conjuntos de dados.A
primeira linha de cada conjunto de dados é de dois números inteiros me não mais que 50. A
segunda linha é m seqüências de caracteres sem espaços. A
terceira linha é n números inteiros. A saída é a
primeira linha de cada grupo de dados. O resultado da conexão de todas as seqüências de entrada.A
segunda linha gera o resultado de cada número inteiro mais 13 4 Tom Mike Jack 1 2 3 4 1 2 Pequim 100 200
Saída de amostra
TomMikeJack 2,3,4,5, Pequim 101.201,
#include <iostream> #include <iostream> #include < string > usando o namespace std; // 在此处补充你的代码 template < class T, classe T1> vazio MyForeach (T * _start, T * _END, vazio f (T1 t)) { para (T * p = _start; p <_END; p ++ ) { f ( * p); } } void Print ( string s) { cout << s; } void Inc ( int & n) { ++ n; } Cadeia matriz [ 100 ]; int a [ 100 ]; int main () { int m, n; while (cin >> m >> n) { para ( int i = 0 ; i <m; ++ i) cin >> array [i]; para ( int j = 0 ; j <n; ++ j) cin >> a [j]; MyForeach (matriz, matriz + m, Imprimir); cout << endl; MyForeach (a, a + n, Inc); for ( int i = 0 ; i <n; ++ i) cout << a [i] << " , " ; cout << endl; } retornar 0 ; }
003: filtro simples
#include <iostream> #include <string> usando o namespace std;
// Adicione seu código aqui
bool LargerThan2 (int n) { return n> 2; } bool LongerThan3 (string s) { return s.length ()> 3; } string as1 [5] = {"Tom", "Mike", "Jack", "Ted", "Lucy"}; string as2 [5]; int a1 [5] = {1,2,3,4,5}; int a2 [5]; int main () { string * p = Filtro (as1, as1 + 5, as2, LongerThan3); for (int i = 0; i <p - as2; ++ i) cout << as2 [i]; cout << endl; int * p2 = Filtro (a1, a1 + 5, a2, LargerThan2); for (int i = 0; i <p2-a2; ++ i) cout << a2 [i] << ","; retornar 0; }
Entrada sem saída MikeJackLucy
3,4,5, entrada de amostraNenhuma
Saída de amostra
MikeJackLucy 3,4,5,
#include <iostream> #include < string > usando o namespace std; // 在 此处 补充, 的 T modelo < classe T, classe T1, classe T2> Filtro T (T s, T e, T s2, T1 f (T2)) { while (s! = E) { if (f (* s)) { * s2 ++ = * s ++ ; } mais ++ s; } retornar s2; } bool LargerThan2 ( int n) { return n> 2; } bool LongerThan3 ( string s) { return s.length ()> 3 ; } string as1 [ 5 ] = { " Tom " , " Mike " , " Jack " , " Ted " , " Lucy " }; string as2 [ 5 ]; int a1 [ 5 ] = { 1 , 2 , 3 , 4 , 5 }; int a2 [ 5 ]; int main () { string * p = Filtro (as1, as1 + 5 , as2, LongerThan3); for ( int i = 0 ; i <p - as2; ++ i) cout << as2 [i]; cout << endl; int * p2 = Filtro (a1, a1 + 5 , a2, LargerThan2); for ( int i = 0 ; i <p2-a2; ++ i) cout << a2 [i] << " , " ; retornar 0 ; }