Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389

Открыть новую тему     Написать ответ в эту тему

de_lirium

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тема создана для накопления реализаций типовых задач на С/С++.
Прежде чем публиковать своё условие задачи, убедитесь, что её решение (или решение очень похожей задачи) в теме и полезных ссылках отсутствует (например воспользуйтесь ссылкой Версия для печати вверху справа страницы и поищите в ней).
Постарайтесь как можно полнее сформулировать постановку задачи (чтобы тому, кто решит вам помочь, не приходилось тратить своё время ещё и на выпытывание у вас деталей условия; если вам не понятно, как это сделать - постарайтесь представить, что эта программа у вас уже есть, и "поработать" с ней - вот все детали, которые при этом придут в голову, с большой вероятностью должны быть в условии задачи).
Если вы уже пытались сделать эту задачу, но у вас не получилось и вы хотите довести дело до конца - обязательно выложите результат своей попытки, предварительно убедившись, что ваш код компилируется.

Вопросы по технологиям лучше задавать тут.

Прежде чем просить помощи в задании...
Если позарез надо и вы даже готовы заплатить

Если вам вдруг не отвечают или ответ вас не устраивает, и вообще полезно прочитать всем спрашивающим.

Полезные ссылки:
 
C++: в том числе и решения задач (eng)
задачи на C
 
Проверить свою задачку можно:
Онлайн-компилятором Visual C++
godbolt
Wandbox
Одним из онлайн-компиляторов на ideone.com

Всего записей: 28 | Зарегистр. 23-07-2004 | Отправлено: 02:14 20-12-2004 | Исправлено: Daniyar91, 19:25 27-09-2017
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dualer

Цитата:
он нерационален для матриц с большими размерностями, т.к. вводить вручную всю матрицу - это жестко.

а какова задача -- реальность или обучение?
если обучение, то заполняй матрицы псевдослуч. величинами rand(), например...
 

Всего записей: 24038 | Зарегистр. 06-12-2002 | Отправлено: 21:47 29-10-2008
KuPbI4

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
задание:
Бинарное дерево.
Тип информационного поля char. Найти высоту дерева.
 
помогите пожалуйста...прошу Вас...

Всего записей: 212 | Зарегистр. 13-10-2008 | Отправлено: 17:19 30-10-2008
diablist



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, погогите плиз.
Помогите пожайлуста с задачами из универа
 
1) Дан массив записей. Каждая запись содержит информацию о номере магазина, дате, выручке за день, фамилию заведующего магазином
-    Вывести все номера магазинов, в которых в указанный день d была прибыль не ниже заданной a (d, a вводится с клавиатуры);  
-    Вывести фамилию заведующего магазином по указанному номеру магазина.
 
2) Дана квадратная матрица. Написать функцию, которая вычисляет произведение элементов, находящихся на нечетной позиции. Номер позиции высчитывать по формуле N=I+J. Где I и J – номер строки и столбца элемента.
 
3) Создать файлы данных (А, В и С), согласно условию по приводимому ниже варианту:
В С записываются все положительные числа из А и В и отрицательные числа из остатка более длинного файла.
 
4) В файле записей о результатах вступительных экзаменов хранится следующая информация: Ф.И.О. абитуриента, результаты экзаменов по физике и математике (от 0 до 10) и по русскому языку (зачет/незачет). Удалить из файла записи об абитуриентах, имеющих неудовлетворительные оценки (меньше 4 баллов или незачет), и об абитуриентах, у которых сумма баллов по физике и математике меньше данного p.

Всего записей: 898 | Зарегистр. 29-06-2002 | Отправлено: 03:44 31-10-2008
Zyava



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KuPbI4
В чем вопрос? Чтоименно не получается? Общая идея: идешь рекурсией по ветвям дерева, создаешь массив высот, выбираешь максимальную после завершения рекурсии - это будет высота дерева.

Всего записей: 324 | Зарегистр. 04-05-2006 | Отправлено: 14:04 31-10-2008 | Исправлено: Zyava, 14:08 31-10-2008
distance

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
diablist
 

Код:
#include <iostream>
 
/*
 
Дана квадратная матрица. Написать функцию, которая вычисляет произведение элементов, находящихся на нечетной позиции.
Номер позиции высчитывать по формуле N=I+J. Где I и J – номер строки и столбца элемента.  
 
*/
 
template <size_t N>
__int64 matrix_product_odd(int (&m)[N][N])
{
    __int64 res = 1;
    for(size_t i=0; i<N; i++)
    {
        for(size_t j=0; j<N; j++)
            if ((i + j) & 1)
                res *= m[i][j];
    }
    return (res);
}
 
 
int main()
{
    int m[2][2] = {1, 2, 3, 4};
    __int64 res = matrix_product_odd(m);
    std::cout << res << std::endl;
    std::cin.get();
 
    return (0);
}

Всего записей: 878 | Зарегистр. 28-03-2004 | Отправлено: 14:06 31-10-2008
diablist



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
distance
Пасиб большое, особенно за полное описание, а то сам фиг знает когда уже писал на С потому сам не справлюсь, а девушке хочется помочь ))

Всего записей: 898 | Зарегистр. 29-06-2002 | Отправлено: 18:44 31-10-2008
KuPbI4

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zyava,
нужно сделать через
 

Код:
 
struct Tree{
    char data;
    Tree* left;
    Tree* right;
}
 

Всего записей: 212 | Зарегистр. 13-10-2008 | Отправлено: 18:49 31-10-2008
Timbaland

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ нужна ваша помощ. Вот код проги, которая считывает .txt файл, выводит статистику, меняет в файле слова местами,и по идее должна сортировать УКАЗАННУЮ строку, но сейчас сортирует все строки, помогите сделать чтоб сортировала только указанную.Заранее спс.
Подробнее...

Всего записей: 4 | Зарегистр. 20-09-2008 | Отправлено: 16:54 01-11-2008 | Исправлено: Timbaland, 18:28 01-11-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Timbaland
может так?

Код:
void Sort(int sor) {
  if (--sor < Spys.size())
   sort(Spys[sor].begin(),Spys[sor].end());
}

 
убери код под тег more

Всего записей: 24038 | Зарегистр. 06-12-2002 | Отправлено: 17:42 01-11-2008
Timbaland

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Супер! всё чётко.Большое спс.

Всего записей: 4 | Зарегистр. 20-09-2008 | Отправлено: 18:30 01-11-2008
jater

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем! помогите пожалуйста реализовать метод обменной сортировки с разделением!  
вот условие задачи....
Составить программу реализации указанного метода сортировки и иллюстрации его выполнения. В программе предусмотреть просмотр входных и выходных данных и пошаговое перемещение элементов в соответствии с алгоритмом.  
Для получения входных данных иметь три варианта:
a)    непосредственный  ввод;
b)    генерирование с помощью датчика случайных чисел и запись в текстовый файл;  
c)    ввод из текстового файла.
Алгоритм сортировки реализовать в виде функции с параметрами.
просто неделю мучаюсь и ничего не выходит!!
заранее спс)

Всего записей: 3 | Зарегистр. 20-10-2008 | Отправлено: 18:32 01-11-2008
olegpronin



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
помогите пожалуйста. нужно в turbo c++ строку char (max 127 символов) переделать в динамически расширяемую строку. Как сделать? спасибо.

Всего записей: 5365 | Зарегистр. 31-01-2007 | Отправлено: 20:11 01-11-2008
girlsbest

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Составить программу реализации указанного метода сортировки и иллюстрации его выполнения. В программе предусмотреть просмотр входных и выходных данных и пошаговое перемещение элементов в соответствии с алгоритмом.  
Для получения входных данных иметь три варианта:
a)    непосредственный  ввод;
b)    генерирование с помощью датчика случайных чисел и запись в текстовый файл;  
c)    ввод из текстового файла.
Алгоритм сортировки реализовать в виде функции с параметрами.
 
метод вычерпывания

Всего записей: 19 | Зарегистр. 16-10-2008 | Отправлено: 15:12 02-11-2008 | Исправлено: girlsbest, 15:15 02-11-2008
jater

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
int partition (int * m, int a, int b)  
    {
      int i = a,tmp;
      for (int j = a; j <= b; j++)    // просматриваем с a по b
       {
         if (m[j] <= m[b])            // если элемент m[j] не превосходит m[b],
          {
            tmp=m[i];
            m[i]=m[j];
            m[j]=tmp;  
                                          // меняем местами m[j] и m[a], m[a+1], m[a+2] и так далее...
                                      // то есть переносим элементы меньшие m[b] в начало,
                                      // а затем и сам m[b] «сверху»
            i++;                      // таким образом последний обмен: m[b] и m[i], после чего i++
          }
       }
      return i-1;                     // в индексе i хранится <новая позиция элемента m[b]> + 1
    }
 
   int quicksort (int * m, int a, int b) // a - начало подмножества, b - конец
    {                                        // для первого вызова: a = 0, b = <элементов в массиве> - 1
     if (a >= b)
         return 0;
     int c = partition (m, a, b);
     quicksort (m, a, c-1);
     quicksort (m, c+1, b);
     return 0;
    }
 
 
 
 
 
#include <math.h>
#include<iostream>
#include<time.h>
using namespace std;
int main()
{    int const nmax=100;
    int A[nmax],n,s;
    srand(time(0));
    cout<<"n: ";
    cin>>n;
    for (int i=0; i<n; i++)
    {  
        A[i]=rand()%100;                        // Заполнение массивов
    }
    for (int i=0; i<n; i++)
        cout<<A[i]<<" ";
    cout<<endl;
    s=quicksort(A,0,n);
    cout<<s;
    system("pause");
    return 0;
}
есть программа,просто не могу вывести полученный результат на экран!!!!
помогите плз, очень-очень нужно!!!!!!!

Всего записей: 3 | Зарегистр. 20-10-2008 | Отправлено: 15:18 02-11-2008
SEREGAMD21

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот задали такую задачку по си
260. Даны натуральное число n, символы S1, S2, ..., Sn, среди которых есть двоеточие.
    а) получить все символы, расположенные до первого двоеточия включительно.
    б) получить все символы, расположенные после первого двоеточия включительно.
    в) получить все символы, расположенные между первым и вторым двоеточиями. Если
    второго двоеточия нет, то получить все символы после первого двоеточия.
Помогите хоть один пункт а дльше я сам

Всего записей: 5 | Зарегистр. 16-10-2008 | Отправлено: 16:29 02-11-2008
girlsbest

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Составить программу реализации указанного метода сортировки и иллюстрации его выполнения. В программе предусмотреть просмотр входных и выходных данных и пошаговое перемещение элементов в соответствии с алгоритмом.  
Для получения входных данных иметь три варианта:  
a)    непосредственный  ввод;  
b)    генерирование с помощью датчика случайных чисел и запись в текстовый файл;  
c)    ввод из текстового файла.  
Алгоритм сортировки реализовать в виде функции с параметрами.  
   
метод вычерпывания
 
решите задачу плиз...очень нужно, но не получается пока

Всего записей: 19 | Зарегистр. 16-10-2008 | Отправлено: 17:31 02-11-2008
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SEREGAMD21

Цитата:
Даны натуральное число n, символы S1, S2, ..., Sn, среди которых есть двоеточие.
    а) получить все символы, расположенные до первого двоеточия включительно.

Код:
#include <stdlib.h>
#include <stdio.h>
#define N 10
 
  int i, pos;
  char S[N] = "12345:6789";
 
void main(void) {
  pos = -1;
  for (i = 0; i < N; i++) {
    if ( (S[i] != ':')) {
       printf("%c", S[i]); // печатаем подряд все символы до первого двоеточия
    }
    else {
       pos = i;               // найдено двоеточие, запоминаем позицию...
       break;                // ... и выходим, т.к. нас интересует первое вхождение
    }
  }
 
  if (pos >=0 ) printf("\nДвоеточие найдено на %i-ом месте\n", (pos+1));
  else printf("\nНет двоеточия во входной строке\n");
}
 

 
girlsbest

Цитата:
но не получается пока

а что не получается? показывай...
 
и не множь посты, захотят -- помогут и без повторов...
 

Всего записей: 24038 | Зарегистр. 06-12-2002 | Отправлено: 18:34 02-11-2008 | Исправлено: akaGM, 19:21 02-11-2008
SkyNets

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста с решением задачи
 
1) Описать структуру с именем RESISTOR, содержащую следующие по-
ля:  
•  TYPE — тип резистора;  
•  VALUE — номинал;  
•  POWER — Рассеиваемая мощность (массив из пяти элементов).  
2) Написать программу, выполняющую следующие действия:  
•  ввод с клавиатуры данных в массив RESISTORS, состоящий из се-
ми  элементов  типа RESISTOR;  записи должны быть упорядочены по  
возрастанию рассеиваемой мощности;  
•  вывод  на  экран  номиналов  резисторов  и  их  рассеиваемой мощно-
сти,  тип которого совпал с типом, введенным с клавиатуры;  
•  если такого типа резистора нет, вывести соответствующее сообще-
ние.  
 
Добавлено:
Помогите пожалуйста с решением задачи
 
1) Описать структуру с именем RESISTOR, содержащую следующие по-
ля:  
•  TYPE — тип резистора;  
•  VALUE — номинал;  
•  POWER — Рассеиваемая мощность (массив из пяти элементов).  
2) Написать программу, выполняющую следующие действия:  
•  ввод с клавиатуры данных в массив RESISTORS, состоящий из се-
ми  элементов  типа RESISTOR;  записи должны быть упорядочены по  
возрастанию рассеиваемой мощности;  
•  вывод  на  экран  номиналов  резисторов  и  их  рассеиваемой мощно-
сти,  тип которого совпал с типом, введенным с клавиатуры;  
•  если такого типа резистора нет, вывести соответствующее сообще-
ние.

Всего записей: 1 | Зарегистр. 02-11-2008 | Отправлено: 18:55 02-11-2008
distance

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SkyNets
 

Код:
#include <iostream>
#include <algorithm>
#include <functional>
 
struct Resistor
{
    int type_;
    int value_;
    int power_[5];
};
 
// Цикл с условием
template <class _It, class _Pred, class _Act>
inline _Act for_each_if(_It begin, _It end, _Pred Pred, _Act Act)
{                                                            
    for( ; begin != end ; ++begin)
        if (Pred(*begin))
            Act(*begin);
    return (Act);
}  
 
 
// Поиск резистора по типу
template <typename T>
struct compare_type : public std::binary_function<T, T, bool>
{
    compare_type(int type) : type_(type) {}
    bool operator() (const T& v) const  
    {
        return v.type_ == type_;
    }
    int type_;
};
 
// Вывод результата
struct display
{
    display() : count_(0) {}
    void operator() (const Resistor& rs)
    {
        std::cout << rs.type_ << std::endl;
        std::cout << rs.value_ << std::endl;
        std::cout << rs.power_ << std::endl;
        count_++;
    }
    size_t count_;
};
 
int main()
{
    const size_t N = 7;
    Resistor rs[N];
 
    /*
    •  ввод с клавиатуры данных в массив RESISTORS, состоящий из се-
    ми  элементов  типа RESISTOR;  записи должны быть упорядочены по  
    возрастанию рассеиваемой мощности;  
    */
    // это мне делать влом
 
    /*
    •  вывод  на  экран  номиналов  резисторов  и  их  рассеиваемой мощно-
        сти,  тип которого совпал с типом, введенным с клавиатуры;  
    •  если такого типа резистора нет, вывести соответствующее сообще-
        ние.  
    */
 
    int rs_type;
    std::cin >> rs_type;
        
    if (!for_each_if(rs, rs+N, compare_type<Resistor>(rs_type), display()).count_)
        std::cout << "Resistors not found." << std::endl;
 
    return (0);
}


Всего записей: 878 | Зарегистр. 28-03-2004 | Отправлено: 12:15 04-11-2008
Stitchi16

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста сделать задание: Создать базовый класс список. Реализовать на базе списка стек и очередь с виртуальными функциями вставки элемента и получения элемента

Всего записей: 37 | Зарегистр. 08-03-2007 | Отправлено: 12:54 04-11-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru