![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Удалить все наибольшие элементы, кроме первого, в списке целых чисел |
|
C/C++ - Удалить все наибольшие элементы, кроме первого, в списке целых чисел
|
Новый участник Сообщения: 10 |
#include <stdio.h> #include<locale.h> #include <conio.h> #include <time.h> #include<stdlib.h> struct number { int value; number *next; } *phead, *last, *r; //phead - голова списка, last - хвост, r - текущий элемент int main() { setlocale(LC_ALL,"rus"); int count; srand (time (NULL));//функция генератора случайных чисел printf("Количество чисел в списке: "); //количество чисел в списке scanf("%d",&count); system ("cls");//функция вызова командного процессора для выполнения команды printf("Список:\n"); for (int i = 0; i < count; i++) { if (phead) { last->next = new (number); last = last->next; last->next = NULL; }//если список НЕ пустой else { phead = new (number); phead->next = NULL; last = phead; }//если список пустой last->value = rand()%11; //случайное число от 0 до 10 } //Вывод списка на экран список и поиск наибольшего числа r = phead; int max = r->value; while (r) { if (r->value > max) max = r->value; printf("%d",r->value); r = r->next; } printf("\n\nНаибольший:%d\n", max); r = phead; number *next = r->next; number *tmp; printf("\nНовый список :\n"); //*************** if (!phead->next->next) { if (phead->next->value == max) { delete last; phead->next = NULL; printf("%d",phead->value); getch(); return 0; } if (phead->value == max) { delete phead; phead = last; printf("%d",phead->value); getch(); return 0; } }//проверяем если в списке два элемента while (next->next) { if (next->value == max) { tmp = next; r->next = next->next; delete tmp; } r = r->next; next = r->next; }//удаляем максимальный элемент из списка r = phead; while (r) { printf("%d",r->value); r = r->next; } //выводим на экран getch(); return 0; } |
|
Отправлено: 18:08, 01-03-2015 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] удалить все пустые строки, кроме самой последней | Alexander_88 | Скриптовые языки администрирования Windows | 8 | 05-01-2015 12:43 | |
CMD/BAT - Подсчет количества целых чисел в текстовом файле | Hardip | Скриптовые языки администрирования Windows | 5 | 08-12-2010 14:49 | |
CMD/BAT - [решено] Удалить все файлы из папки кроме нужных | Sirimika | Скриптовые языки администрирования Windows | 16 | 12-11-2010 10:33 | |
Разное - Паскаль! создать массив целых чисел и записать его в файл | Desvi | Программирование и базы данных | 3 | 31-05-2010 22:54 | |
C/C++ - [решено] Теоретический вопрос в задаче о классе целых чисел | Sky-er | Программирование и базы данных | 4 | 08-01-2009 04:18 |
|