Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] Помогите написать....


Автор: SILVER62 20.12.2009, 18:35
1.    Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит восьми: первое число – номер вертикали (при счете слева направо), второе – номер горизонтали (при счете снизу вверх). С помощью датчика случайных чисел получить натуральные числа a, b, c, d, e, f, каждое из которых не превосходит восьми. Пусть на поле (a,b) расположена белая фигура, а  на (c,d) – черная. Определить, может ли белая фигура пойти на поле (e,f), не попав при этом под удар черной фигуры. При условии, что белая фигура – конь, черная фигуру – ферзь.
2.     Дано предложение. Напечатать все слова, которые встречаются в нем по одному разу.
3.     Написать рекурсивную функцию для вычисления максимального элемента массива из n элементов.
4.    Дана матрица (nm). Найти произведение элементов каждой строки.

Автор: SILVER62 20.12.2009, 19:14
ПОМОГИИИИТЕ Очень надо((( smile 

Автор: azesmcar 21.12.2009, 06:39
SILVER62

В центр помощи.

Автор: bsa 21.12.2009, 11:47
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Автор: t_gran 21.12.2009, 11:52
Один вопрос - одна тема.

Автор: LokiAsgard 21.12.2009, 13:39
1. А как ферзь ходит?

2.     Дано предложение. Напечатать все слова, которые встречаются в нем по одному разу.

С помощью strtok и strcmp

3.     Написать рекурсивную функцию для вычисления максимального элемента массива из n элементов.
а в чем проблема то?

4.    Дана матрица (nm). Найти произведение элементов каждой строки.
Код

......
for (i=0;i<n;i++) 
{
        itog=mas[i][0];
        for (j=1;j<m;j++) itog=itog*mas[i][j];
        printf("%d \n",itog);       
}
.....



Автор: Dancer 21.12.2009, 15:15
1.
Делаем 2 матрицы 15х15. 
1 - куда можно ходить фигуре
-1 - куда нельзя ходить фигуре.
[7][7] - это начало координат (скажем так), то есть наша фигура.
HORSE_STEP[15][15] = {
{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1, -1,  1, -1,  1, -1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1,  1, -1, -1, -1,  1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1,  1, -1, -1, -1,  1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1, -1,  1, -1,  1, -1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
};
QUEEN_STEP[15][15] = {
{ 1, -1, -1, -1, -1, -1, -1,  1, -1, -1, -1, -1, -1, -1,  1},
{-1,  1, -1, -1, -1, -1, -1,  1, -1, -1, -1, -1, -1,  1, -1},
{-1, -1,  1, -1, -1, -1, -1,  1, -1, -1, -1, -1,  1, -1, -1},
{-1, -1, -1,  1, -1, -1, -1,  1, -1, -1, -1,  1, -1, -1, -1},
{-1, -1, -1, -1,  1, -1, -1,  1, -1, -1,  1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1,  1, -1,  1, -1,  1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1, -1,  1,  1,  1, -1, -1, -1, -1, -1, -1},
{ 1,  1,  1,  1,  1,  1,  1,  0,  1,  1,  1,  1,  1,  1,  1},
{-1, -1, -1, -1, -1, -1,  1,  1,  1, -1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1, -1,  1, -1,  1, -1,  1, -1, -1, -1, -1, -1},
{-1, -1, -1, -1,  1, -1, -1,  1, -1, -1,  1, -1, -1, -1, -1},
{-1, -1, -1,  1, -1, -1, -1,  1, -1, -1, -1,  1, -1, -1, -1},
{-1, -1,  1, -1, -1, -1, -1,  1, -1, -1, -1, -1,  1, -1, -1},
{-1,  1, -1, -1, -1, -1, -1,  1, -1, -1, -1, -1, -1,  1, -1},
{ 1, -1, -1, -1, -1, -1, -1,  1, -1, -1, -1, -1, -1, -1,  1}
};


далее эти матрицы накладываются на твою матрицу 8х8, и получаем, клетки куда можно теоретически пойти из поля фигурой.
нолик по помещается на доску 8х8 в точку где стоит фигура, 
просчитать "битое" это будет поле или нет, проще простого.

Автор: Luyan 21.12.2009, 15:34
Цитата(LokiAsgard @  21.12.2009,  13:39 Найти цитируемый пост)
а в чем проблема то?

думаю у тс большие проблемы, он ведь в больнице лежал.
Цитата(SILVER62 @  20.12.2009,  18:35 Найти цитируемый пост)
3.     Написать рекурсивную функцию для вычисления максимального элемента массива из n элементов.

вот:
Код

#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;

// в функции рекурсивно "уменьшаю" подмассив, пока его размер не станет 1
// передаю массив, его размер и размер подмассива 
int FindMax(int* &A, int n, int m)
{
    if(m == n-1)
        return m;

    int a = FindMax(A, n, m+1);

    if(A[a] > A[m])
        return a;
    else
        return m;
}
int main()
{
    int n; // размер массива
    cout << "Size: ";
    cin >> n;

    int* A = new int [n]; // выделяю память под массив
    int MaxElement; // здесь будет индекс максимального элемента

    // далее заполняю массив случайными числам
    srand((unsigned)time(NULL));
    for(int i = 0; i < n; ++i)
    {
        A[i] = (int)rand()%100-40;
        cout << A[i] << "  ";
    }
    cout << endl;

    MaxElement = FindMax(A, n, 0);

    cout << "The maximum array's element: " << A[MaxElement] << endl;
    
    delete [] A; // освобождаю память
    
    system("pause");
    return 0;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)