Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.82
Mazanakisicq
0 / 0 / 0
Регистрация: 14.11.2010
Сообщений: 13
#1

Ищу начинающих программистов! - C++

13.07.2011, 16:02. Просмотров 3491. Ответов 49
Метки нет (Все метки)

Ищу начинающих или продвинутых программистов на C++,C,Objective-C,C# для общения и обмена опытом!
Недавно таким образом учился знакомый говорит очень помогло. Поэтому кто готов к обмену опытом и к взаимопомощи. Пишите email в личку или прям сюда. Желательно что бы был GMAIL.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.07.2011, 16:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ищу начинающих программистов! (C++):

С++ для начинающих - C++
не могу сгенерировать случайные целые числа. всегда одно и тоже значение выходит. при чем эта функция должна быть не в main и количество...

С++ для начинающих - C++
Пожалуйста помогите решить задачу С++ с помощью функций:Составить программу, сравнивающую два числа, введенных римскими цифрами.

С/С++ для начинающих - C++
Вводится последовательность целых чисел, 0 – конец последовательности. Вычислить количество положительных чисел, кратных 7 и не кратных 5 и...

3D программирования для начинающих - C++
Добрый вечер всем!Я хочу начать учить 3D программирования, но не знаю с чего начать. Возможно кто-то бы посоветовал с чего начать, какую...

Задачник для начинающих - C++
Посоветуйте хороший задачник по С++.

Литература для начинающих - C++
всех с НГ!))) посоветуйте что почитать человеку который с программированием на Вы а в частности по С++...

49
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
13.07.2011, 22:46 #16
Цитата Сообщение от kravam Посмотреть сообщение
если бы речь шла только о квадратных матрицах, не стоило бы и огород городить, верно?
Ну вообще-то, диагонали, как таковы, россматриваются только в квадратных матрицах, что в прочем логично.
1
kravam
быдлокодер
1701 / 888 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
13.07.2011, 22:48 #17
Я не знаю где они там рассматриваются, упражнение есть упражнение.
0
artemoniks
13.07.2011, 22:53 #18
+1 Волгоград
artemoniks@yandex.ru
C#
kravam
быдлокодер
1701 / 888 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
13.07.2011, 22:57 #19
stdcout, приехали. Даже навскидку видно, что неверно. Матрица 8x5, диагональные координаты 9, 2
Это чё значит?
C++
1
i = y;
номер строки второй что ли? А по факту он шестой будет... То же и со строкой. Думай.

Добавлено через 1 минуту
А кстати со столбцом ты угадал. Но это не решение всё-таки.
0
litoq
10 / 10 / 1
Регистрация: 11.12.2010
Сообщений: 12
14.07.2011, 00:01 #20
kravam, так?

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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream>
#include <string>
/*
        0  1  2  3   4
      
    0   74 83 92 101 110
    1   64 73 82 91  100
    2   54 63 72 81  90
    3   44 53 62 71  80
    4   33 43 52 61  70
    5   22 32 42 51  60
    6   11 21 31 41  50
    7   00 10 20 30  40
*/
 
bool Convert(size_t & X, size_t & Y, size_t & x, size_t & y, const size_t & MtrLength_x, const size_t & MtrLength_y)
{
    x = MtrLength_x - 1;
    y = 0;
    
    for (size_t i = 0; i < X; ++i)
    {
        if (i < MtrLength_y - 1)
        {
            ++y;
        }
        else
        {
            --x;    
        }
    }
    
    for (size_t i = 0; i < Y; ++i)
    {
        --x;
        --y;    
    }
    
    return 1;
}
 
int main()
{
    size_t X;
    size_t Y;
    
    size_t x;
    size_t y;
 
    const size_t Nx = 8;
    const size_t Ny = 5;
    
    std::string str;
    
    do
    {
        std::cout << "X = ";
        std::cin >> X;
        std::cout << "Y = ";
        std::cin >> Y;
            
        Convert(X, Y, x, y, Nx, Ny);
        
        std::cout << "x = " << x << " " << "y = " << y << std::endl;
        
        std::cin >> str;
    }
    while (str != "end");
 
    system("pause");
    
    return 0;
}
0
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
14.07.2011, 00:08 #21
я написал решение задачи kravam-а, но оно такое быдло, что даже стыдно показывать(
я формулу не высчитывал .
0
kravam
быдлокодер
1701 / 888 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
14.07.2011, 00:10 #22
Просьба: проверить самому (кто сказал что алгоритм единственный?) и сократить код до минимума. Я завтра посмотрю.
Кстати, мой код такой: (псевдокод)

C++
1
2
3
4
5
6
7
8
9
10
 struct koordinati_ {
  int nomer_stroki;
  int nomer_stolbtsa;
 } koordinati;
 
 
void matrix<T>::f_perevod_koordinat (koordinati_* koordinati, int y, int x) {
 //Так, тут в одном операторе присваивания умещается нахождение строки
 //А во втором операторе присваивания умещается нахождение столбца 
};
...Так что в любом случае есть куда стремиться.

Добавлено через 48 секунд
OstapBender, окультуривай и показывай
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
14.07.2011, 00:12 #23
интересно посмотреть на то, что подразумеваеться под диагональю прямоугольной матрицы
1
kravam
быдлокодер
1701 / 888 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
14.07.2011, 00:15 #24
Читать умеешь? Блин специально для тех кто не умеет читать:
1 2 3 4 5
0 2 3 4 5
3 4 5 6 7
7 8 9 0 5
2 3 4 4 6
5 6 7 8 9
2 3 4 5 6
4 5 6 7 8

Итак, для ДАННОЙ задачи диагонали такие будут (начиная с нулевой)
1
0 2
3 2 3
7 4 3 4
2 8 5 4 5
5 3 9 6 5
2 6 4 0 7
4 3 7 4 5
5 4 8 6
6 5 9
7 6
8
0
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
14.07.2011, 00:19 #25
лень мне переделывать )
логика проста, ищем лежит X(номер диагонали) на нижней строке, или на правом столбце, ставим туда позицию curr , движемся вверх влево пока не дошли до Y
код
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
struct coords {
    int i; // строка
    int j; // столбец
};
 
coords at(coords diag, int n, int m) {
    
    if (diag.i<0 || diag.i>n+m-2) throw std::exception("Bad coordinates.");
 
    coords curr;
    if (diag.i >=0 && diag.i <m) {
        curr.i=n-1;
        curr.j=diag.i;
    }
    else {
        curr.j=m-1;
        curr.i=n+m-diag.i-2;
    }
 
    while (diag.j>0) {
        curr.i--;
        curr.j--;
        if (curr.i<0 || curr.j<0) throw std::exception("Bad coordinates.");
        diag.j--; // use diag.j as counter
    }
 
    return curr;
}
 
 
 
int main()
{
    int n=3, m=3;
    coords diag = {4,1};
    coords normal;
    try {
    normal = at(diag,n,m);
    } catch (std::exception& e) {
        std::cout << e.what() << '\n';
        getchar();
        return 1;
    }
 
    std::cout << normal.i << ' ' << normal.j << '\n';
 
    getchar();
}
0
kravam
быдлокодер
1701 / 888 / 45
Регистрация: 04.06.2008
Сообщений: 5,498
14.07.2011, 00:22 #26
Не проверял, но даже если верно- за труды тройка.
Придумайте формулку, ребята...
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
14.07.2011, 01:58 #27
проверил на прямоугольной, работает, но для "вертикальных" матриц - M >= N
Код
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
#include <stdio.h>
 
#define M 9
#define N 5
 
void TranslateCoordForVertMatrix(int* x, int* y)
{
    if (*x <= M - 1)
    {
        *x -= *y;
    }
    else
    {
        *y = *x - M + 1 + *y;
        *x -= *y;
    }
}
 
int main()
{
    int x = 11, 
        y = 1;
    TranslateCoord(&x, &y);
    printf("i = %d\nj = %d", x, y);
    getchar();
    return 0;
}
/*пронумерованы диагонали
   0-- * * * * 3 
   1-- * * * 3 2 
   2-- * * 3 2 1 
   3-- * 3 2 1 0 
   4-- 3 2 1 0 4 
   5-- 2 9 0 4 *
   6-- 1 0 4 * *
   7-- 0 4 * * *
   8-- 4 * * * *
         | | | |
         9 | | |
          10 | |
            11 |
              12
*/
1
stdcout
53 / 53 / 2
Регистрация: 06.04.2011
Сообщений: 210
14.07.2011, 08:44 #28
kravam,
Задача: имеется матрица размером M строк на N столбцов. Каждая диагональ имеет свой номер, нумерация диагоналей начинается с нуля. Диагонали идут снизу вверх слева направо. Элементы диагоналей нумеруются с нуля.
В приведённом тобой примере диагонали идут сверху вниз.

Добавлено через 1 минуту
Или я туплю и не правильно понял условие.
0
voral
488 / 468 / 79
Регистрация: 16.03.2008
Сообщений: 2,218
14.07.2011, 08:47 #29
C++
1
2
i = (x<=M) ? x-y : M-y;
j = (x<=M) ? y : (x-M) + y;

0
stdcout
53 / 53 / 2
Регистрация: 06.04.2011
Сообщений: 210
14.07.2011, 08:58 #30
Возможно такое решение верно.
C
1
2
3
4
5
6
7
8
9
10
if (x <= M - 1)
{
    i = x - y;
    j = y;
}
else
{
    i = M - 1 - y;
    j = x - M + 1 + y;
}
0
14.07.2011, 08:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2011, 08:58
Привет! Вот еще темы с ответами:

Раздел: С++ для начинающих - C++
Помогите!!!! Я очень плохо эти функции понимаю.... Написати функцію, яка обчислює значення виразу, та визначити її значення для...

с++ для очень начинающих - C++
ребят, очень хочу писать на с++, нашла книгу, учусь, но для написания первой программы мне нужен ms dos. Знаю, что он идет как операционная...

программа для начинающих - C++
Помогите выполнить задание из книжки(не знаю када че использовать и как): Объявите переменную типа char с именем friend_sex и...

Тетрис для начинающих - C++
Всем привет! знаю основы C# но необходимо ознакомиться с C++ и написать тетрис. даже не знаю с чего начать вот туториальчик по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru