04.12.2015, 12:39 | #1 (permalink) |
Новичок
Регистрация: 04.12.2015
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите с задачами на С++
1. «Создание и обработка списков» Даны: натуральное число n и целые числа а(1),…., a(n). Выяснить, имеются ли среди чисел а(1),… a(n) совпадающие. 2. "Работа со строками" Выбрать любой текст. Выделить в нем все слова заданной длины. За помощь буду по гроб жизни обязан! |
04.12.2015, 12:39 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Я помогу вам ускорить решение проблемы, прочтите похожие темы Помогите, пожалуйста, с задачами на Паскале Помогите пожалуйста с задачами на паскале Помогите с тремя простыми задачами PASCAL Пожалуйста, помогите с задачами в Паскале Помогите с задачами, пожалуйста. Нужно написать на языке С Помогите с задачами на фри Паскале |
04.12.2015, 13:46 | #2 (permalink) |
Специалист
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
|
По первой задачке, я так понимаю про шаблоны вы ничего не слышали, поэтому пойдем классическим путем, сразу скажу - не компилировал, не проверял, поэтому могут быть как семантические так и синтаксические ошибки, добивайте код сами
Код:
#include <iostream> using namespace std; /* элемент списка */ struct ListNode { int num; ListNode *next; }; class List { private: ListNode *first; //голова списка public: List() { first = NULL; //список изначально пустой } ListNode * getFirst() { return first; } void addNode(int num) //функция добавления в конец списка { ListNode *ptr = new ListNode; //выделяем память под элемент списка ListNode *cur; ptr->num = num; //кладем данные о человеке ptr->next = NULL; //следующих данных нет(NULL - признак конца списка) if(first == NULL) //если список пуст { first = ptr; //введенные данные будут первой записью } else { // пробежимся по списку и присвоим в последнем существующем элементе // указателю на следующий элемент указатель на вновь созданый cur = first; while(cur->next != NULL) { cur = cur->next; } cur->next = ptr; } } void showNodes() //вывод списка { ListNode *cur = first; //голова списка if(cur == NULL) { //если список пуст выводим сообщение wcout << "Список пуст!"; } else { wcout << "Список: "; while(cur != NULL) //идем по списку { cout << cur->num << " "; //выводим элемент cur = cur->next; //переходим к следующему } } cout << endl; } //поиск элемента в списке, возвращает указатель если нашли совпадение или NULL если не нашли ListNode * find(ListNode *node,int num) { ListNode *cur = node; //начинаем поиск с элемента указаного ноде while(cur != NULL) //идем по списку { if(cur->num==num) { return cur; } cur = cur->next; //переходим к следующему } return NULL; } }; int main() { int n=0,num=0 ; List op; //объявляем объект класса ListNode *cur=NULL; ListNode *found=NULL; int countFound=0; cout << "Введите количество элементов списка" << endl; cin >> n; for(int i=0;i<n;i++) { cout << "Введите элементов списка номер" << i+1 << endl; cin >> num; op.addNode(num); } op.showNodes(); //вывода списка на консоль cur = op.getFirst(); //голова списка while(cur != NULL) //идем по списку { found = op.find(cur->next,cur->num); if( found != NULL) { countFound++; } cur = cur->next; //переходим к следующему } if (countFound > 0 ) { cout<< "Найдено " << countFound << " совпадений в элементах списка"; } else { cout<< "Совпадений в элементах списка не найдено"; } cout << endl; return 0; } Ну а вообще надо бы самому приложить хоть какие то усилия, что бы вам хотелось помочь ... привели бы свои варианты решения и сказали , что конкретно у вас не получается, вам бы помогли гораздо охотнее ... Боюсь, что просто сдав вышеприведенный фрагмент преподавателю, вы не сможете ответить ни на один дополнительный вопрос от него по сути решения задачи ... |
04.12.2015, 14:16 | #3 (permalink) |
Новичок
Регистрация: 04.12.2015
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасибо за программу, вижу пару ошибок, подправлю) Я не на столько глуп, как Вы думаете, просто времени катастрофически не хватает) ВО втором текст берется из файла и выводится в файл
|
04.12.2015, 15:05 | #4 (permalink) |
Специалист
Регистрация: 27.04.2015
Адрес: Москва
Сообщений: 1,423
Записей в дневнике: 4
Сказал(а) спасибо: 52
Поблагодарили 53 раз(а) в 16 сообщениях
Репутация: 18120
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Метки |
c++, задача., помощь новичку |
|
|