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

указатели - C++

Восстановить пароль Регистрация
 
Silva
 Аватар для Silva
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 27
16.01.2010, 14:55     указатели #1
помогите
Миниатюры
указатели  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rififi
 Аватар для Rififi
2330 / 1045 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
16.01.2010, 15:19     указатели #2
Silva,
если тебе лень даже по-нормальному перепечатывать задание, то нам-то зачем напрягаться?
запомни: если тебе всё равно, то другим тем более. Будь проще, и люди к тебе потянуться
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
16.01.2010, 15:24     указатели #3
Rififi, ну есть и плюсы в таком подходе - ошибок не наделает... Тут порой так задания пишут, что дольше думаешь, что человеку нужно, чем как это сделать...

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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
using namespace std;
 
int main(){
    int **B, N, i, j, sum;
    
    srand(time(NULL));
    
    cout << "Сторона матрицы: ";
    cin >> N;
    B = new int* [ N ];
    for ( i = 0; i < N; ++i )
        B[i] = new int [ N ];
    cout << endl << "Матрица:" << endl;
    for ( i = 0; i < N; ++i ){
        for( j = 0; j < N; ++j ){
            B[i][j] = rand() % 100 - 50;
            cout << setw(3) << B[i][j] << ' ';
        }
        cout << endl;
    }
 
    for ( sum = 0, i = 0, j = N - 1; i < N; ++i, --j )
        if ( B[i][j] > 0 )
            sum += B[i][j];
    cout << "Сумма положительных элементов побочной диагонали: " << sum << endl;
    
    for ( i = 0; i < N; ++i )
        delete [] B[i];
    delete [] B;
    return 0;
}
Silva
 Аватар для Silva
0 / 0 / 0
Регистрация: 30.09.2009
Сообщений: 27
16.01.2010, 15:27  [ТС]     указатели #4
прошу прощения если не корректно поставила условие
Андрейка
407 / 211 / 22
Регистрация: 25.03.2009
Сообщений: 710
16.01.2010, 15:42     указатели #5
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
#include <iostream>
 
 
int main()
{
    setlocale(LC_ALL,"RUSSIAN");
    double summ = 0;
    size_t N;
    std::cout << "input N" << std::endl;
    std::cin >> N;
    int **ptr = new int *[N];
    for (size_t i = 0 ; i < N ; i++)
        ptr[i] = new int [N];
 
    for (size_t i = 0 ; i < N ; i++)
        for (size_t j = 0 ; j < N ; j++)
            std::cin >> ptr[i][j];
 
    for (size_t i = 0 ; i < N ; i++)
    {
        for (size_t j = 0 ; j < N ; j++)
            std::cout << ptr[i][j] << ' ';
        std::cout << std::endl;
    }
 
    for (size_t i = 0 ; i < N ; i++)
        if (ptr[i][N-i-1] > 0) summ += ptr[i][N-i-1];
 
    std::cout << "сумма положительных элементов на побочной диагонали" << ' ' << summ << std::endl;
 
    for (size_t i = 0 ; i < N ; i++)
        delete [] ptr[i];
    delete [] ptr;
 
    system("pause");
    return 0;
 
}
Yandex
Объявления
16.01.2010, 15:42     указатели
Ответ Создать тему
Опции темы

Текущее время: 18:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru