Форум программистов, компьютерный форум CyberForum.ru

C4 ЕГЭ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Решение систем нелинейных уравнений http://www.cyberforum.ru/cpp-beginners/thread883398.html
Ребят, тут вот в чем дело. Я не прошу решить все за меня. Я прошу просто подтолкнуть в сторону решения. Курсач сдавать скоро, а ни строчки кода не написано, по скольку я не знаю что делать с системами этими совсем(( Прочтена информация как их решать. Но там все одно: "Пусть нам известен отрезок, в котором содержится один корень"; "Найдем графически отрезок, в котором имеется один корень", и так...
C++ В каждой строке двумерного массива находится минимальный элемент, затем среди этих чисел находится максимальное. Напечатать индексы этого элемента. Здравствуйте) Суть задания такова: В двумерном массиве X(m,n) все числа различны. В каждой строке находится минимальный элемент, затем среди этих чисел находится максимальное. Напечатать индексы ( номер строки и номер столбца) этого элемента. Собственно я начал писать программу, но в последствии понял что не смогу ее дописать, т.к. не знаю как писать дальше. Вот то что у меня есть на данный... http://www.cyberforum.ru/cpp-beginners/thread883397.html
Массивы. Удалить все четные элементы; Добавить К строк, начиная со строки с номером N C++
Наберите программу, формирующую динамический массив, заполните его случайными числами и выведите на печать. Для одномерного массива: Удалить все четные элементы. Для двухмерного массива: Добавить К строк, начиная со строки с номером N. Буду Очень благодарен за помощь.
C++ Построить математическую модель для программы, создающей последовательность и перестановки для первых 5-ти ее элементов
Как построить математическую модель для программы создающей последовательность и перестановки для первых 5-ти ее элементов? #include <iostream> #include <algorithm> float ai(int i) // рекурсивная функция вычисления а; { if (i==0) return 2; else if (i==1) return 3; else return 3*ai(i-1)-ai(i-2); }; int main(int argc, char* argv)
C++ Метод прямого выбора http://www.cyberforum.ru/cpp-beginners/thread883376.html
Не правильно сортирует(( for (i=0; i<num-1; i++) { nmax=i; for (j=i+1; j<num; j++) if(Club->PPG > Club->PPG) { nmax=j; temp = *Club; *Club = *Club;
C++ Есть ли ошибки в приведенных ниже описаниях объектов? Пусть мы имеем следующие объявления типов: template<class elemType> class Array; enum Status { ... }; typedef string *Pstring; Есть ли ошибки в приведенных ниже описаниях объектов? /*(a)*/ Array< int*& > pri(1024); /*(b)*/ Array< Array<int> > aai(1024); подробнее

Показать сообщение отдельно
lemegeton
2917 / 1346 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
29.05.2013, 23:38     C4 ЕГЭ
Цитата Сообщение от slboss Посмотреть сообщение
Паскаль я тоже знаю
Мне главное понять решение
Дык, как же его понять, если ни С++, ни Паскаля...


Ну вот так в одном цикле.
Заводим две переменные, в которых храним первый и второй удовлетворяющий условиям максимумы.
По потоку идем и смотрим, если новое значение удовлетворяет условиям в сочетании с одним из максимумов, меняем значение первого или второго максимума на новое значение.

Мне лень возиться с файлами, поэтому я запилил потоковый рандом.
C++
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
#include <ctime>
#include <cstdlib>
 
#include <iostream>
 
// эта структура вообще не нужна.
struct RandomGenerator {
  RandomGenerator(int min, int max) : min(min), max(max) {}
  int operator()() const { return min + rand() % (max - min); }
  RandomGenerator &operator>>(int &v) {
    v = operator()();
    return *this;
  }
  int min, max;
};
 
int main(int , char**) {
  srand(time(0));
  
  // тут вместо RandomGenerator
  // нужно открывать файл на чтение
  RandomGenerator in(0, 1000);
 
  int firstMaximum = 0, secondMaximum = 0;
  if (firstMaximum < secondMaximum) {
    std::swap(firstMaximum, secondMaximum);
  }
  
  // вместо цикла for надо
  //while (!in.good()) {
  for (int i = 0; i < 88; ++i) {
    int value;
    in >> value;
    std::cout << value << std::endl;
 
    if (value > firstMaximum) {
      if (value * firstMaximum % 22 == 0) {
        secondMaximum = firstMaximum;
        firstMaximum = value;
      } else if (value * secondMaximum % 22 == 0) {
        firstMaximum = value;
      }
    } else if (value > secondMaximum && value < firstMaximum) {
      if (value * firstMaximum % 22 == 0) {
        secondMaximum = value;
      }
    }
  }
 
  int checkSum = firstMaximum * secondMaximum;
  if (firstMaximum == secondMaximum || checkSum % 22 != 0) checkSum = 0;
 
  std::cout << firstMaximum << "*" << secondMaximum << ", checksum = " << checkSum << std::endl;
 
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru