diff --git a/1.cpp b/1.cpp index 190c209..21dea71 100644 --- a/1.cpp +++ b/1.cpp @@ -2,27 +2,32 @@ using namespace std; class container { - +protected: int size; public: float* p; - container(int s) :size(s){} - const int& getsize() { return size;} - + container(int s) :size(s) {} + int& getsize() { return size; } + friend class vector; }; class vector :public container { int call_num; public: - explicit vector(int l) :len(l),size(1 * 100){ + explicit vector(int l) :len(l), container(1 * 100) { p = new float(); } int len; - int& getlen() const { - call_num ++; + int& getlen(){ + call_num++; return len; } + vector(const container& x):container(1*100) { + size = x.size; + p = new float[x.size]; + len = 0; + } ~vector() = default; }; @@ -34,7 +39,7 @@ int main() { container c2 = 100; c2.getsize() = 20; cout << c2.getsize(); - vector v2 = 100; - v2.getlen = 40; + vector v2 (100); + v2.getlen() = 40; cout << v2.getlen(); -} \ No newline at end of file +} diff --git a/2.cpp b/2.cpp index 6a27746..58e302a 100644 --- a/2.cpp +++ b/2.cpp @@ -5,11 +5,11 @@ using namespace std; // count all the specific char in the whole array of strings int countAllSpecificChars(string sArr[], int arrLength, char specificChar) { - int count; - for (int i = 0; i <= arrLength; ++i) - for (int j = 0; j <= sArr[i].size(); ++j) + int count=0; + for (int i = 0; i < arrLength; ++i) + for (int j = 0; j < sArr[i].size(); ++j) // if the jth char of the string is the specific char - if (sArr[i][j] = specificChar) + if (sArr[i][j] == specificChar) count++; return count; } diff --git a/3.cpp b/3.cpp index c8732ef..aee6d00 100644 --- a/3.cpp +++ b/3.cpp @@ -1,9 +1,10 @@ -#include +#include #include +#pragma warning(disable:4996) #define MAX_SIZE 200 int arr[MAX_SIZE]; -typedef struct alfa * alfaptr; +typedef struct alfa* alfaptr; struct alfa { long long x; @@ -45,7 +46,7 @@ void search(int x) printf("ERROR2"); break; } - node = node->next; + node = node->next; } void rpop() {//pop last element @@ -66,9 +67,9 @@ void set() int size() { alfaptr node = front; - int count; + int count=0; while (node) - count++;node = node->next; + count++; node = node->next; return count; } @@ -88,7 +89,7 @@ int average() { alfaptr node = front; - int sum = 0, count; + int sum = 0, count=0; while (node) { sum += node->x; count++; diff --git a/4.cpp b/4.cpp index a9a32f2..95b1838 100644 --- a/4.cpp +++ b/4.cpp @@ -2,8 +2,9 @@ int main() { float arr[5] = { 12.5, 10.0, 13.5, 90.5, 0.5 }; - float *ptr1 = &arr[0]; - float *ptr2 = ptr1 + 3; + float* ptr1 = &arr[0]; + float* ptr2 = ptr1 + 3; printf("%f", *ptr2 - *ptr1); return 0; -} \ No newline at end of file +} +//output:78.000000 \ No newline at end of file diff --git a/5.cpp b/5.cpp index e9a1737..edf7e9a 100644 --- a/5.cpp +++ b/5.cpp @@ -1,10 +1,11 @@ -#include +#include int main() { int arr[] = { 10, 20, 30, 40, 50, 60 }; - int *ptr1 = arr; - int *ptr2 = arr + 5; + int* ptr1 = arr; + int* ptr2 = arr + 5; printf("%d\n", (*ptr2 - *ptr1)); printf("%c", (char)(*ptr2 - *ptr1)); return 0; -} \ No newline at end of file +} +//output:50 2 diff --git a/6.cpp b/6.cpp index bb721c3..09e07a8 100644 --- a/6.cpp +++ b/6.cpp @@ -1,11 +1,12 @@ -#include +#include int main() { int a; - char *x; - x = (char *)&a; + char* x; + x = (char*)&a; a = 512; x[0] = 1; printf("%d\n", a); return 0; } +//output:513 \ No newline at end of file diff --git a/7.cpp b/7.cpp index 7b065a0..80f3e24 100644 --- a/7.cpp +++ b/7.cpp @@ -2,9 +2,10 @@ int main() { int arr[] = { 1, 2, 3, 4, 5 }; - int *p = arr; - ++*p; + int* p = arr; + ++* p; p += 2; printf("%d", *p); return 0; -} \ No newline at end of file +} +//output:3 \ No newline at end of file diff --git a/8.cpp b/8.cpp index 76b870c..efc2780 100644 --- a/8.cpp +++ b/8.cpp @@ -1,13 +1,11 @@ -#include -const char * f(const char **p) { +#include +const char* f(const char** p) { auto q = (p + sizeof(char))[1]; return q; } int main() { - const char * str[] = { "Wish","You","Best",":D" }; + const char* str[] = { "Wish","You","Best",":D" }; printf("%c%c ", *f(str), *(f(str) + 1)); printf("%c%c%c%c\n", **str, *(*(str + 1) + 1), *((str + 2)[-1] + 1), **&*(&str[-1] + 1)); - - - } +//output: Be WooW \ No newline at end of file