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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 42, средняя оценка - 4.79
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
#1

Функция ввода матрицы - C++

17.01.2010, 16:55. Просмотров 6363. Ответов 8
Метки нет (Все метки)

Подскажите, как написать функцию ввода матрицы! а затем, как вызвать ее! Заранее благодарен, просто я тока учусь...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2010, 16:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция ввода матрицы (C++):

Нужно сделать, чтобы программа состояла из 3 функций, тоесть 1-ая функция ввода массива, 2-ая основная функция, 3-я- вывод массива - C++
Есть программа #include <iostream> #include <algorithm> const int N = 5; int handSet(void) { int a; std::cout...

функция ввода - C++
есть такой кодclass kv{ int a,b,c; public: void get () {cin>>a>>b;} int iu (){return 2*(a+b); } kv(){a=b=0;} }; void main...

Функция ввода - C++
Вот какой вопрос у меня появился. Вводится число с клавиатуры типа double. Как узнать была ли введена дробная часть числа?

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

Функция ввода с файла - C++
Как создать функцию ввода с файла? Не определяется в параметрах ifstream void input(ifstream &in, int &count) { ...

Функция ввода / вывода - C++
Программа ругается на переменную C, и не выводит нужно результата, посмотрите в чем ошибка Используя принцип разделения ввода/вывода...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
17.01.2010, 17:09 #2
Какой язык: C или C++
0
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
17.01.2010, 17:14  [ТС] #3
С++
0
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
17.01.2010, 17:28 #4
Сейчас сделаю

Добавлено через 13 минут
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
#include <iostream.h>
long InputMatrix(int *matrix ,int Height ,int Weight);
void main(){
    const int sHeight = 6;
    const int sWeight = 6;
    int mat[sHeight][sWeight] = {0};   //инициализация всей матрицы нулём
 
//Вызов функции 
InputMatrix(&mat[0][0],sHeight,sWeight);
   
 
 
}
 
long InputMatrix(int *matrix ,int Height ,int Weight){
    for(int i=0; i<Height;i++){
        for(int j=0;j<Weight;j++){
        cout<<"INPUT"<<' '<<i<<' '<<j<<'\t';
 
        cin>>matrix[i*Weight+j]; //ввод
        }
 
    }
 
 
return 0;
}
1
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
17.01.2010, 18:03  [ТС] #5
благодарю!!! )))
0
M128K145
Эксперт С++
8288 / 3508 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
18.01.2010, 01:34 #6
Цитата Сообщение от Genius Ignat Посмотреть сообщение
C++
1
int mat[sHeight][sWeight] = {0};  //инициализация всей матрицы нулём
Это не более чем инициализация первого элемента матрицы. Посмотри результат, допустим, при такой записи
C++
1
int mat[sHeight][sWeight] = {5};
1
easybudda
Модератор
Эксперт CЭксперт С++
9625 / 5573 / 947
Регистрация: 25.07.2009
Сообщений: 10,708
18.01.2010, 11:17 #7
Цитата Сообщение от M128K145 Посмотреть сообщение
Это не более чем инициализация первого элемента матрицы. Посмотри результат, допустим, при такой записи
А если значений нехватает, то все последующие элементы сами 0 инициализируются. То есть в Вашем примере первый элемент будет 5, остальные 0. Соответственно
C
1
int arr[10] = { 0 };
создаст массив из десяти нулевых элементов типа int. Чтобы не быть голословным:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
int main(void){
    int arr[10] = { 0 }, i;
    for ( i = 0; i < 10; ++i ){
        if ( arr[i] ){
            printf("Shit happens!\n");
            break;
        }
    }
    if ( i == 10 )
        printf("Oh, yeah! All elements has zero values!\n");
    return 0;
}
Добавлено через 2 минуты
Цитата Сообщение от Genius Ignat Посмотреть сообщение
cin>>matrix[i*Weight+j]; //ввод
другое дело - зачем вот этот выпендрёж нужен? Чё не просто
C++
1
cin >> matrix[i][j];
?
2
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
18.01.2010, 13:03 #8
easybudda:
Когда мой комилятор видет вот такой параметр int *matrix,
Он не позволяет задавать смещение вот таким способом: [][],
Если функция шаблонная тогда такой способ прокатывает.
0
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
18.01.2010, 13:58 #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
template <typename T, size_t N> void func(T (&arr)[N][N])
{
    for (size_t i = 0 ; i < N ; i++)
        for (size_t j = 0 ; j < N ; j++)
            std::cin >> arr[i][j];
}
 
int main()
{
    int arr[3][3];
    func(arr);
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2010, 13:58
Привет! Вот еще темы с ответами:

Функция ввода двоичного вектора - C++
нужна функция ввода двоичного вектора напишите ее если есть у кого-нибудь ;

Не работает функция ввода массива - C++
У меня стоит задача вводить массива с клавиатуры размера M на N, с проверкой на диапазон. Вот мой код функции: void input (short mas ,int...

Функция ввода вместо cin - C++
Здорова! Нужно написать функцию ввода вместо cin, которая бы читала строки. Я не знаю чем можно заменить cin. Нужно постараться...

Функция ввода двумерного массива - C++
Ребят, помогите! Надо написать функцию чтобы с помощью нее мы вводили двумерный массив! Не знаю какие параметры задать и что внутри...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.01.2010, 13:58
Ответ Создать тему
Опции темы

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