diff --git a/1.cpp b/1.cpp index 898198d..f7915cb 100644 --- a/1.cpp +++ b/1.cpp @@ -1,11 +1,16 @@ -// Разверните строку. Указатель reverse_string должен -// указывать на развернутую строку. +#include char* string = "The string!"; - int main() { - char* reverse_string; - + int len = strlen(string); + char* reverse_string = new char[len]; + for(int i = 0 ; i < len; i++) + { + reverse_string[i] = string[len-1 - i]; + } + reverse_string[len] = '\0'; + std::cout << reverse_string; + system("pause"); return 0; -} \ No newline at end of file +} diff --git a/2.cpp b/2.cpp index 9eed732..82006df 100644 --- a/2.cpp +++ b/2.cpp @@ -1,4 +1,4 @@ -// Квадратная матрица разделена диагоналями на четыре сектора. +// Квадратная матрица разделена диагоналями на четыре сектора. // Напишите функцию min_from_top_sector(), которая будет // находить значение ячейки, минимальное для всех ячеек верхнего // сектора, включая отрезки диагоналей, составляющие этот сектор. @@ -10,7 +10,14 @@ typedef int Matrix[c_kM][c_kM]; int min_from_top_sector(Matrix& m) { - + int min = m[0][0]; + for (int i = 0; i < c_kM/2 + c_kM % 2; i++) + for (int j = i; j < c_kM - i; j++) + { + if (m[i][j] <= min) + min = m[i][j]; + } + return min; } int _tmain(int argc, _TCHAR* argv[]) @@ -18,6 +25,6 @@ int _tmain(int argc, _TCHAR* argv[]) Matrix matrix; std::cout << min_from_top_sector(matrix) << std::endl; - + return 0; } diff --git a/3.cpp b/3.cpp index 169e055..dd14236 100644 --- a/3.cpp +++ b/3.cpp @@ -1,9 +1,8 @@ -// Напишите функцию Add(), которая создает новый +// Напишите функцию Add(), которая создает новый // объект List, инициализирует его входным значением // value и добавляет его в конец списка l, полученного // на вход. В функции main() создайте проинициализированный // список, со значениями value равными: 1, 2, 3, 4 и 5. - struct List { int value; @@ -14,10 +13,20 @@ struct List // It should return pointer to the added List object. List* Add(List* l, int value) { - + List *list = new List; + list->value = value; + list->next = NULL; + if (!l) + return list; + l->next = list; + return list; } int main(int argc, char* argv[]) { -return 0; -} \ No newline at end of file + List * list = new List; + list->value = 1; + for (int i = 1; i < 5; i++) + Add(list,i+1); + return 0; +}