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

Олимпиадная задача на числа - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ прямоугольник http://www.cyberforum.ru/cpp-beginners/thread85750.html
помогие с решением . Найти параметры минимального по площади прямоугольника со сторонами, параллельными осям. Прямоугольник должен охватывать все точки из заданного на плоскости множества. на с++ зарание спс!
C++ №1 Нахождение Бесконечной суммы с точностью до Е Даны действительные числа Х, e (Х<>0, 0<e<1). Вычислить с точностью e бесконечную сумму и указать количество учтенных слагаемых. http://www.cyberforum.ru/cpp-beginners/thread85746.html
действительные числа a, b, c C++
Привет всем! Помогите плз решить задание. Делать нужно через функцию. (Я создавал тут уже подобную тему недавно, но там было не через функцию) Даны действительные числа a, b, c. Чтобы можно было подставлять свои числа вместо a, b, c с клавиатуры и высчитывать . Получить max(a,a+b)+max(a,b+c)) и всё это делённое на (1+max(a+b*c,1,15) , т.е max(a,a+b)+max(a,b+c))/(1+max(a+bc,1,15) .
Не разберусь в плохом скане кода C++
У Дейтлов есть код http://xmages.net/upload/f5785fa6.jpg Не разберусь, что написано в выделенном красной рамочкой фрагменте. Вижу, что while (grade = cin.get()))... А вот в районе EOF какая-то ерунда. Блин, не понимаю, неужели тот, кто сканил книжку, не мог нормальный скан сделать?
C++ массивы и структуры http://www.cyberforum.ru/cpp-beginners/thread85697.html
помогите, пожалуйста, доделать контрольную!!! 6.Просуммировать элементы двумерного массива. Значения элементов вводятся с клавиатуры. 7.Определить сумму и среднее значение элементов двумерного массива. Массив инициализируется внутри программы. 10.Написать программу с использованием структуры, состоящей из переменных, определяющих объект «Студент»: фамилия, номер группы. Объявляется...
C++ задание для экзамена.. 1. Вывести на экран таблицу значений ряда s(x) для x изменяющихся от 2 до 3,5 с шагом 0.05. Количество слагаемых ряда n=140. (Функция s(x) берется из методического пособия) 2. Задана матрица размером NxN. Получить массив B, присвоив его k-му элементу значение 0, если ( задается условие ), и значение 1 в противном случае (k изменяется от 0 до N-1). 3. Задана матрица размером NxN. Получить... подробнее

Показать сообщение отдельно
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
27.01.2010, 22:57     Олимпиадная задача на числа
а веть это тоже самое что и построить магический квадрат!

Добавлено через 1 минуту
щас сделаю

Добавлено через 2 минуты
вот решение вашей задачи
исходник мой


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
57
58
#include <iostream>
#include <conio.h>
 
int main()
{
     unsigned short size=0;
     std::cout<<"vvedite razmernost kvadrata: ";
     std::cin>>size;
     if (!(size & 1)) {
         std::cout<<"razmernost kvadrata dolgna imet ne4etyu velichiny";
         getch();
         exit(0);
     }
     unsigned int max_size=size+(size-1);
     unsigned int**pMagic_square;
     pMagic_square=new unsigned int*[max_size];
     for (unsigned int i=0; i<max_size; i++)
     pMagic_square[i]=new unsigned int[max_size];
     unsigned int i;
     unsigned int j;
     for (i=0; i<max_size; i++)
     for (j=0; j<max_size; j++)
     pMagic_square[i][j]=0;
     unsigned int k=1;
     i=(max_size>>1);
     j=0;
     while (i<max_size){
         unsigned int i1=i;
         unsigned int j1=j;
         unsigned int gr=size>>1; //gr-расстояние от границы увеличенного массива
         while (j1<((j+(max_size>>1))+1)){
             pMagic_square[i1][j1]=k;
             if ((i1>(gr)) && (j1<(gr))) //left
             pMagic_square[i1][j1+size]=k;
             if ((i1>(size+gr)-1) && (j1>(gr)))
             pMagic_square[i1-size][j1]=k; //down
             if ((i1<(gr)) && (j1>(gr)))
             pMagic_square[i1+size][j1]=k; //up
             if ((i1>(gr)) && (j1>(size+gr)-1))
             pMagic_square[i1][j1-size]=k; //right
             i1--;
             j1++;
             k++;
         }
         i++;
         j++;
     }
     std::cout<<std::endl<<"Magic kvadrat gotov: "<<std::endl<<std::endl;
     for (i=(size-1)>>1; i<=max_size-(size>>1)-1; i++ ){
         for (j=(size-1)>>1; j<=max_size-(size>>1)-1; j++ ){
             std::cout<<pMagic_square[i][j]<<",";
         }
         std::cout<<std::endl;
     }
     delete[] pMagic_square;
     getch();
     return 0;
}
 
Текущее время: 07:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru