From a123c180631d32b4243dbc0f06fe8e03b7c08c3b Mon Sep 17 00:00:00 2001 From: Saba Rafiei Date: Wed, 17 May 2023 11:53:13 +0430 Subject: [PATCH] All bugs are fixed now --- 1.cpp | 25 ++++++++++++++++--------- 2.cpp | 8 ++++---- 3.cpp | 12 ++++++------ 4.cpp | 2 +- 5.cpp | 4 ++-- 6.cpp | 2 +- 7.cpp | 6 +++--- 8.cpp | 2 +- 8 files changed, 34 insertions(+), 27 deletions(-) diff --git a/1.cpp b/1.cpp index 190c209..b0013e2 100644 --- a/1.cpp +++ b/1.cpp @@ -2,27 +2,34 @@ 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; } + container() { + size = 0; + } }; 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( container& c) { + call_num = 0; + len = 0; + size=c.getsize(); + } ~vector() = default; }; @@ -34,7 +41,7 @@ int main() { container c2 = 100; c2.getsize() = 20; cout << c2.getsize(); - vector v2 = 100; - v2.getlen = 40; + vector v2 = (vector)100; + v2.getlen() = 40; cout << v2.getlen(); } \ No newline at end of file diff --git a/2.cpp b/2.cpp index 6a27746..23cea79 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..d938a37 100644 --- a/3.cpp +++ b/3.cpp @@ -2,8 +2,8 @@ #include #define MAX_SIZE 200 int arr[MAX_SIZE]; - -typedef struct alfa * alfaptr; +#pragma warning(disable:4996) +typedef struct alfa* alfaptr; struct alfa { long long x; @@ -45,7 +45,7 @@ void search(int x) printf("ERROR2"); break; } - node = node->next; + node = node->next; } void rpop() {//pop last element @@ -66,9 +66,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 +88,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..ea3f515 100644 --- a/4.cpp +++ b/4.cpp @@ -4,6 +4,6 @@ int main() float arr[5] = { 12.5, 10.0, 13.5, 90.5, 0.5 }; float *ptr1 = &arr[0]; float *ptr2 = ptr1 + 3; - printf("%f", *ptr2 - *ptr1); + printf("%f", *ptr2 - *ptr1); //The result is 78.000 return 0; } \ No newline at end of file diff --git a/5.cpp b/5.cpp index e9a1737..c563cf2 100644 --- a/5.cpp +++ b/5.cpp @@ -4,7 +4,7 @@ int main() int arr[] = { 10, 20, 30, 40, 50, 60 }; int *ptr1 = arr; int *ptr2 = arr + 5; - printf("%d\n", (*ptr2 - *ptr1)); - printf("%c", (char)(*ptr2 - *ptr1)); + printf("%d\n", (*ptr2 - *ptr1)); //Result: 50 + printf("%c", (char)(*ptr2 - *ptr1)); //Result: 2 return 0; } \ No newline at end of file diff --git a/6.cpp b/6.cpp index bb721c3..55f84f8 100644 --- a/6.cpp +++ b/6.cpp @@ -6,6 +6,6 @@ int main() x = (char *)&a; a = 512; x[0] = 1; - printf("%d\n", a); + printf("%d\n", a); //513 return 0; } diff --git a/7.cpp b/7.cpp index 7b065a0..2326fba 100644 --- a/7.cpp +++ b/7.cpp @@ -2,9 +2,9 @@ int main() { int arr[] = { 1, 2, 3, 4, 5 }; - int *p = arr; - ++*p; + int* p = arr; + ++* p; p += 2; - printf("%d", *p); + printf("%d", *p); //Result: 3 return 0; } \ No newline at end of file diff --git a/8.cpp b/8.cpp index 76b870c..218f5a8 100644 --- a/8.cpp +++ b/8.cpp @@ -7,7 +7,7 @@ int main() { 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)); - + //Be WooW }