Auto keyword

Was ist der Typ von a?

int main(){
	auto a = 5u * 2 + 10.0;
}

Optionen: unsigned int, int, float, double
Korrekt: double

Strings

Was gibt das Programm aus?

#include <iostream>
#include <string>
 
int main() {
    std::string s1 = "Hello";
    std::string s2 = "World";
    char space = ' ';
    std::cout << s1 + space + s2 + '!';
    return 0;
}

Antwort: Hello World!

Rekursion

Was gibt das folgende Programm aus?

#include<iostream>
#include<vector>
 
void foo(std::vector<int>& a, int b){
	if(!(b<a.size())) return;
	std::cout << a.at(b);
	foo(a,b+1);
}
 
 
int main(){
	std::vector<int> vec = {5, 4, 3, 1};
	foo(vec,0);
	
	return 0;
}

Antwort: 5431

Was gibt das folgende Programm aus?

#include<iostream>
#include<vector>
 
void foo(std::vector<int>& a, int b){
	if(!(b>=0) return;
	foo(a,b-1);
	std::cout << a.at(b);
}
 
 
int main(){
	std::vector<int> vec = {5, 4, 3, 1};
	foo(vec,vec.size());
	
	return 0;
}

Antwort: 5431

Was gibt das folgende Programm aus?

#include<iostream>
 
void f(int a){
	if(a==0) return;
	std::cout << a%10;
	f(a/10);
}
 
int main(){
	f(1234);
	return 0;
}
 

Antwort: 4321

Was gibt das folgende Programm aus?

#include<iostream>
 
int foo(int n){
  if(n==0) return 1;
  return n*foo(n-1);
}
 
int main() {
    
    std::cout << foo(4);
    
    return 0;
}

Antwort: 24

Was gibt das folgende Programm aus?

#include<iostream>
#include<vector>
 
int foo(std::vector<int> vec, int b) {
    if (b == 0) {
        return 0;
    } else {
        return vec[b - 1] + foo(vec, b - 1);
    }
}
 
int main() {
    std::vector<int> vec(0);
    for(int i = 1; i <= 100; ++i){
      vec.push_back(i);
    }
    std::cout << foo(vec, vec.size());
    
    return 0;
}

Antwort: 5050