aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inclassexercise10rw/inclassexercise10rw/node.h2
-rw-r--r--inclassexercise10rw/inclassexercise10rw/pointerexamples.cpp18
-rw-r--r--inclassexercise10rw/inclassexercise10rw/pointerexamples.h3
-rw-r--r--inclassexercise10rw/inclassexercise10rw/program.cpp18
4 files changed, 30 insertions, 11 deletions
diff --git a/inclassexercise10rw/inclassexercise10rw/node.h b/inclassexercise10rw/inclassexercise10rw/node.h
index b93abcb..793226f 100644
--- a/inclassexercise10rw/inclassexercise10rw/node.h
+++ b/inclassexercise10rw/inclassexercise10rw/node.h
@@ -3,7 +3,7 @@
struct node {
- int data;
+ int _num;
node* _next;
};
diff --git a/inclassexercise10rw/inclassexercise10rw/pointerexamples.cpp b/inclassexercise10rw/inclassexercise10rw/pointerexamples.cpp
index 0d1f139..d6ed294 100644
--- a/inclassexercise10rw/inclassexercise10rw/pointerexamples.cpp
+++ b/inclassexercise10rw/inclassexercise10rw/pointerexamples.cpp
@@ -2,16 +2,28 @@
void swap(node* first, node* second)
{
+ first->_num ^= second->_num;
+ second->_num ^= first->_num;
+ first->_num ^= second->_num;
}
+void revertswap(node* first, node* second)
+{
+ first->_num ^= second->_num;
+ second->_num ^= first->_num;
+ first->_num ^= second->_num;
+
+}
+
+
void standardize_101(node* node)
{
-
+ node->_num %= 101;
}
void square(node* node)
{
+ node->_num *= node->_num;
-}
-
+} \ No newline at end of file
diff --git a/inclassexercise10rw/inclassexercise10rw/pointerexamples.h b/inclassexercise10rw/inclassexercise10rw/pointerexamples.h
index fd6e569..a3a41fb 100644
--- a/inclassexercise10rw/inclassexercise10rw/pointerexamples.h
+++ b/inclassexercise10rw/inclassexercise10rw/pointerexamples.h
@@ -6,6 +6,9 @@
void swap(node* first, node* second);
+void revertswap(node* first, node* second);
+
+
void standardize_101(node* node);
void square(node* node);
diff --git a/inclassexercise10rw/inclassexercise10rw/program.cpp b/inclassexercise10rw/inclassexercise10rw/program.cpp
index b95595a..5433e8f 100644
--- a/inclassexercise10rw/inclassexercise10rw/program.cpp
+++ b/inclassexercise10rw/inclassexercise10rw/program.cpp
@@ -13,28 +13,32 @@ using std::endl;
int main()
{
-
-
node newnode = {};
+ newnode._num = 52;
+ node nextnode = {};
+ nextnode._num = 35;
-
-
-
+ newnode._next = &nextnode;
+ standardize_101(&newnode);
+ cout << "The newnode._num mod 101 is:" << newnode._num << endl;
swap(&newnode, &nextnode);
- standardize_101(&newnode);
+ cout << "newnode._num was 52, now it is: " << newnode._num << "\nNext node was 35, now it is: " << nextnode._num << endl;
- square(&nextnode);
+ revertswap(&newnode, &nextnode);
+ cout << "newnode._num was 52, now it is: " << newnode._num << "\nNext node was 35, now it is: " << nextnode._num << endl;
+ square(&nextnode);
+ cout << "nextnode._num squared is: " << nextnode._num << endl;
return 0;