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

прямоугольный массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Напечатать сумму элементов массива http://www.cyberforum.ru/cpp-beginners/thread420408.html
Подскажите как мне здесь найти сумму элементов массива , заранее большое спасибо. #include<iostream> #include <conio.h> using namespace std; int main() { int i; int mas={1,3,13,4,5,6}; for(i=0;i<6;i++)
C++ Открытие файла другой программы из программы.Косяк. Итак, есть в программе такой кусок: system("E:\\KMPlayer\\KMPlayer.exe E:\\WINDOWS\\New_year.mp3"); Косяк в том, что пока песня не дойдёт до конца, программа дальше не выполняется. Не помогает даже ShowWindow(GetConsoleWindow(),SW_SHOWMAXIMIZED); после этого куска. Как сделать так, чтобы и песня играла и программа печатала дальше? А дальше вот что: while(h!='\0') { cout<<h; Sleep(100); i++; } http://www.cyberforum.ru/cpp-beginners/thread420405.html
C++ Функция доводит длину строки до заданной, вставляя пробелы между словами..
Функция доводит длину строки до заданной, вставляя пробелы между словами
C++ Заменить значения элементов последовательности с максимальным и минимальным значением на среднее
задание. Размерность массива: 30 Диапазон значений от -100 до 100 Во всех последовательностях положительных чисел заменить значения элементов с максимальным и минимальным значением на среднее для этой последовательности оченьочень..... Добавлено через 6 минут или такое.. Размерность:30
C++ как сделать класс окна ,в котором находятся потоки для opengl? http://www.cyberforum.ru/cpp-beginners/thread420383.html
я хочу сделать приложение,способное оперировать с несколькими окнами,для каждого окна есть свой класс,а в нём потоки для рендеринга opengl. Только как это написать не знаю.можете дать код
C++ Напечатать день недели по его порядковому номеру С наступающем!!! Условие задачи: Напишите прогу, которая содержит функцию DayName() которая печатает день по данному номеру. Например: если ввести "1" : выдает : "Первый день это понедельник" если ввести "7" : выдает : "Седьмой день это воскресение" Имя дня (1-7) можно написать использую массив строк. подробнее

Показать сообщение отдельно
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
30.12.2011, 09:55     прямоугольный массив
С Новым Годом!

Внимание. Программа просит пользователя ввести реальные номера колонок и строк. т.е начиная не с 0 (нуля), а с 1 (единицы). Ваша матрицы 7 на 7 поэтому от 1 до 7

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
 
#include <fstream>
using std::ifstream;
 
//для чтения файла и заполнения матрицы
void fillMatrixFromFile(int **, const int &, ifstream &);
//для печати матрицы
void printMatrix(int **, const int &);
 
//для поиска суммы всех соседей произволного элемента
//координаты элемента передаются в виде индексов строки и колнки
bool getNeighboursSum(int **, const int &, const int &, const int &, int &);
 
int main() {
 
    const int size = 7;
    int **myMatrix;
    int rowNumber, columnNumber, sum = 0;
 
    ifstream myFile("C:\\DATF.TXT");
    if (myFile.is_open()) {
 
        myMatrix = new int*[size];
        for (int i = 0; i < size; ++i) {
            myMatrix[i] = new int[size];
        }
 
        //читаем файл. заполняем матрицу
        fillMatrixFromFile(myMatrix, size, myFile);
        myFile.close();
 
        //напечатаем то что считали из файла
        printMatrix(myMatrix, size);
 
        cout << "\nPlease enter row number (from 1 to 7)::\n>";
        cin >> rowNumber;
        rowNumber--;
        cout << "\nPlease enter column number (from 1 to 7) ::\n>";
        cin >> columnNumber;
        columnNumber--;
 
        if(getNeighboursSum(myMatrix, size, rowNumber, columnNumber, sum)){
            cout << "\nSum of Neighbours is :: " << sum << endl;
        } else {
            cout << "Error :: Chosen element is not an internal !!";
        }
 
    } else {
        cout << "Error :: Cannot open file !";
    }
 
    cin.ignore();
    cin.get();
    return 0;
}
 
bool getNeighboursSum(int **myMatrix, const int &size, const int &row, const int &column, int &sum){
    //если элемент внутри матрицы (т.е. не на крайних полях матрицы)
    if(row > 0 && row < size-1 && column > 0 && column < size -1 ){
        for(int i = row-1; i <= row+1; ++i){
            for(int j = column-1; j <=column+1; ++j){
                if(i!=row || j!=column){
                    sum+= myMatrix[i][j];
                }
            }
        }
    } else { // если элемент не внутренний
        return false;
    }
    return true;
}
 
void printMatrix(int **myMatrix, const int &size) {
    for (int i = 0; i < size; ++i) {
        for (int j = 0; j < size; ++j) {
            cout << myMatrix[i][j] << " ";
        }
        cout << endl;
    }
}
 
void fillMatrixFromFile(int **myMatrix, const int &size, ifstream &myFile) {
    for (int i = 0; i < size && !myFile.eof(); ++i) {
        for (int j = 0; j < size && !myFile.eof(); ++j) {
            myFile >> myMatrix[i][j];
        }
    }
 
}
ВЫВОД

1 2 3 4 5 6 7
5 4 5 7 3 8 0
1 2 6 4 7 9 5
4 5 6 7 3 6 8
1 3 4 5 7 4 6
9 7 6 4 6 7 4
4 6 0 7 6 5 3

Please enter row number (from 1 to 7)::
>4

Please enter column number (from 1 to 7) ::
>4
Sum of Neighbours is :: 42

----------------------------------------
------- С ошибкой ---------------------
1 2 3 4 5 6 7
5 4 5 7 3 8 0
1 2 6 4 7 9 5
4 5 6 7 3 6 8
1 3 4 5 7 4 6
9 7 6 4 6 7 4
4 6 0 7 6 5 3

Please enter row number (from 1 to 7)::
>3

Please enter column number (from 1 to 7) ::
>1
Error :: Chosen element is not an internal !!


ЗЫ: не забудьте файл с матрицей положить в корень диска C:\ или меняйте путь к файлу в программе.

Не по теме:

будете НГ отмечать не поминайте лихом.

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