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

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

Войти
Регистрация
Восстановить пароль
 
goratics
0 / 0 / 0
Регистрация: 17.07.2011
Сообщений: 6
#1

Алюанский вопрос по функциям - C++

17.07.2011, 04:02. Просмотров 436. Ответов 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
#include <iostream>
#include <conio.h>
#include <Windows.h>
#include "cstdlib"
using namespace std;
void menu (void);
int main (){
setlocale( LC_ALL,"Russian" );
system("cls");
 
 
cout << " Матричный калькулятор "<<endl;
cout << " ___________________________________ ___________________________________ _____" <<"\n";
_getch();
int a;
 
while (true) {
menu();
cin>>a;
if (a==1) int matrix_a();
 
 
 
getch();
system("cls");}
return 0 ;
 
 
}
 
void menu (void) {
 
 
 
 
cout <<" Выберите действие данного приложения :" << endl ;
cout <<"______________________________ ";
 
 
cout <<"________________________________ __ "<<"\n";
cout <<" 1. сложить матрицу а и матрицу и b "<<endl;
cout <<" 2. умножить матрицу а и матрицу и b "<<endl;
cout <<" 3. вычесть матрицы а , матрицу b "<<endl;
cout <<" 4. найти определитель матрицы "<<endl;
cout <<" 5. Выход из программы"<<endl;
 
 
}
int matrix_a (int i,int j,int m,int n){
int matrix [100][100];
cout << "введи размерность матрицы"<<endl;
 
cout << "колличество столбцов = ";
cin >> i;
cout << "колличество строк = ";
cin>>j;
 
 
matrix[i][j];
for(n=1;n<j;n++){
for (m=1;m<i;m++)
cin>>matrix[m][n];
}
getch();
return matrix[m][n];
}
по функции меню я думаю понятно ...что я от сего консольного приложения хотел иметь ввиду.
Так вот ..запускается функция выводящая менюшку на экран.. Ничтяк..
Но как хочу запустить функцию вводящую матрицу - тут возникает делема.- никаких действий согласно задумке не происходит. В чем я имел, честь ошибиться?(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2011, 04:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Алюанский вопрос по функциям (C++):

Вопрос по функциям - C++
Есть функция: int fun(char wob, unsigned char s, char name, char opis, uint32_t code) {} Я вызываю её в одном месте приложения: int...

Вопрос по функциям - C++
Вопрос по функции. мне надо, чтобы моя функция &quot;proverka&quot; принимала значение переменной boo. но на простое присвоение компилятор...

Вопрос по функциям - C++
Скажите, если у функции в заголовке прописано, что она возвращает значение int: int function(...) { ...} То могу ли я пытаться...

Вопрос по встраиваемым функциям - C++
В книге прочитал, что если объявить функцию как inline, то код самой функции при компиляции копируется в главную программу, а в конце...

Вопрос по классам и функциям - C++
Здравствуйте, вообщем мне надо реализовать примерно такое дело: имеется класс the_class нужно чтобы у каждого экземпляра была...

Вопрос по функциям класса - C++
class vector { private: double x; double y; double z; public: vector(); vector(double a, double b, double c); ...

7
easybudda
Модератор
Эксперт CЭксперт С++
9662 / 5611 / 952
Регистрация: 25.07.2009
Сообщений: 10,774
17.07.2011, 04:13 #2
Какие-то у Вас бессвязные куски кода получились...
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
int menu(){
  int answ;
  cout << "1 - ввести матрицу" << endl
        << "2 - вывести матрицу" << endl
        << "0 - выход" << endl;
  return ( cin >> answ ) ? answ : -1;
}
//...
int main(){
  int action;
  //...
  while ( action = menu() ){
    switch ( action ){
      case 1 :
        // ввод матрицы
        break;
      case 2:
        // вывод матрицы
        break;
      default:
        cerr << "Ошибка" << endl;
        break;
    }
  }
  // ...
  return 0;
}
0
goratics
0 / 0 / 0
Регистрация: 17.07.2011
Сообщений: 6
17.07.2011, 04:22  [ТС] #3
Ща попробую..ток ...это конечно не, то что я хотел..
А хотел я....разбить функционал по блокам, реализовав все это в отдельной функции.
Естественно все еще не дописал..а следовал правилу..сразу проверь.
0
easybudda
Модератор
Эксперт CЭксперт С++
9662 / 5611 / 952
Регистрация: 25.07.2009
Сообщений: 10,774
17.07.2011, 04:42 #4
Цитата Сообщение от goratics Посмотреть сообщение
это конечно не, то что я хотел..
А хотел я....разбить функционал по блокам, реализовав все это в отдельной функции.

Не по теме:

Они сами не знают, чево они хочут!
(с)


В смысле - объявить одну функцию menu() и в неё всю возню свалить? Ну и за чем такое "разделение"? Выводом меню и возвращением выбранного действия пусть функция menu() занимается, вводом матрицы - какая-нибудь input_matrix(), выводом соответственно output_matrix(), а в main() всё это хозяйство должно в одно целое увязываться...
0
goratics
0 / 0 / 0
Регистрация: 17.07.2011
Сообщений: 6
17.07.2011, 15:37  [ТС] #5
Нет...как в анекдоте - Хочешь ромовую бабу ??? Хочу!! - Но ром отдельно , бабу отдельно!!
Так же и я ...ввод матиц отдельно, меню отдельно.. действия над ними отдельно.

Добавлено через 10 часов 45 минут
Ну вот..пробовал вариант не работает.

Добавлено через 19 секунд
Ну вот..пробовал вариант не работает.
0
OstapBender
583 / 522 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
17.07.2011, 16:06 #6
goratics, по-моему вы повторяете слова easybudda

в вашем же варианте матрица существует только в 1ой функции .

и
Цитата Сообщение от goratics Посмотреть сообщение
return matrix[m][n];
последний элемент - matrix[n-1][m-1];
0
goratics
0 / 0 / 0
Регистрация: 17.07.2011
Сообщений: 6
17.07.2011, 16:09  [ТС] #7
Нужно чтоб хотя бы она вызывалась..а не просто меню висело.
0
OstapBender
583 / 522 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
17.07.2011, 16:21 #8
так вам же указали уже как надо делать...
switch это связка if else...
код


для простоты - передача матрицы как int[10][10]
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
int menu() {
    std::cout << "1-input\n";
    std::cout << "2-output\n";
    std::cout << "3-exit\n";
    int choice=0;
    std::cin >> choice;
    return choice;
}
 
void output(int matr[10][10], int n, int m) {
    for (int i=0; i<n; i++) {
        for (int j=0; j<m; j++)
            std::cout << matr[i][j] << ' ';
 
        std::cout <<  '\n';
    }
}
 
int main()
{
    int matr[10][10]={0};
 
    int choice=0;
    while (choice != 3) {
    switch( choice= menu() ) {
    case 1:
        //input(matr,10,10); // не реализовано, не забыть передать матрицу по ссылке или указателю
        break;
    case 2:
        output(matr,10,10);
        break;
    }
    }
 
 
 
     
 
    getchar();
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2011, 16:21
Привет! Вот еще темы с ответами:

Задачи по функциям. Объясните задачу по функциям) - C++
Вводится последовательность из N целых чисел. Для каждого числа последовательности вывести новое число, которое получится после записи цифр...

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

Консультация по функциям - C++
Подскажите что это за две функции и что за аргументы у второй? cin.clear(); cin.ignore(256, '\n');

Расписать по функциям - C++
Я совершенный новичок. Начали проходить функции, решил задачу, осталось выписать ее по функциям. Подсобите кто опытный, что бы я в...


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

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

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