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

Не могу справится с последней функцией - C++

Восстановить пароль Регистрация
 
SHAFT007
2 / 2 / 1
Регистрация: 29.01.2012
Сообщений: 25
29.01.2012, 11:24     Не могу справится с последней функцией #1
Уважаемые форумчане! Прошу не пинать меня если вопрос окажется элементарным или я его не задал не там где надо. Ну в общем у меня такое задание: создать программу в которой будет выбор как заполнить двумерный массив (рандомно или с клавиатуры). Сначала это работает. Потом перехожу ко второй части. Во второй части нужно найти максимальный элемент в массиве и создать новый массив путем умножения каждого элемента уже существующей матрицы. После ее добавления у меня пропал выбор как заполнять матрицу (просто сразу переходит к заполнению массива с клавиатуры). В общем вот он код:
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
#include <iostream>
#include <time.h>
#include <windows.h>
#include <limits.h>
#define SIZE 10
using namespace std;
void rand_array(int [][SIZE],int,int);
void input(int [][SIZE],int,int);
void new_mas (int [][SIZE],int,int);
void output(int [][SIZE],int,int);
int main ()
{
setlocale(LC_ALL, "Russian");
int M,N,ch;
int A[SIZE][SIZE];
cout << "Введите число строк -->";
cin >> M;
cout << "Введите количество столбцов -->";
cin >> N;
cout << "Выберите каким способом заполнить способом:\n";
cout << "1 - случайным способом\n";
cout << "2 - с помощью клавиатуры\n";
cout << endl;
cin >> ch;
switch (ch)
{
case 1: rand_array(A,M,N);
case 2: input(A,M,N) ;
}
output (A,M,N);
new_mas(A,M,N);
return 0;
}
void rand_array(int mas[][SIZE],int r,int c)
{
    //Инициализация датчика случайных чисел по текущему времени для того, чтобы 
    //при каждом запуске получались разные числа
   srand( (unsigned)time( NULL ) );
   //Функция возвращает псевдослучайное целое число в диапазоне 0 до RAND_MAX (32767) 
   for (int i=0;i<r;i++)
      for (int j=0;j<c;j++)
        mas[i][j]=rand()%(r*c)-rand()%(r*c);
   return;
}
void input(int mas[][SIZE],int r,int c)
{
for (int i=0;i<r;i++)
      for (int j=0;j<c;j++)
      {
      cout << "Введите элемент " << i << " - строки, " << j << " - столбца -->";
      cin >> mas[i][j];
      }
      return;
}
void output (int mas[][SIZE],int r,int c)
{
for (int i=0;i<r;i++)
    {
      for (int j=0;j<c;j++)
      {
      cout << mas[i][j] << "\t";
      }
      cout << endl;
    }
return ;
}
void new_mas(int mas[][SIZE],int r,int c)
{
int i=0,j=0,max_el=mas[i][j];
int n_mas[SIZE][SIZE];
for (;i<r;i++)
     for (;j<c;j++)
        {
        if (abs(mas[i][j])>max_el) max_el=mas[i][j];
        }
cout << "Максимальный элемент матрицы -->" << max_el;
cout << endl;
for (i=0;i<r;i++)
    {   
    for (j=0;j<r;j++)
    {
    n_mas[i][j]=mas[i][j]*max_el;
    cout << n_mas[i][j] << "\t";
    }
    cout << endl;
    }
return ;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2012, 11:24     Не могу справится с последней функцией
Посмотрите здесь:

Помогите справится с ошибочкой C++
Не могу разобраться с функцией fseek C++
C++ Удаление последней строки в консоли
Не могу разобратсья с функцией SaveToFile C++
не могу сделать программу с указателями на массив и с функцией C++
C++ не могу разобраться функцией систем("")
C++ Не могу справиться с функцией с++ istringstream
C++ Вывод последней строки массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tyrnikMan
6 / 6 / 0
Регистрация: 30.10.2011
Сообщений: 7
29.01.2012, 11:59     Не могу справится с последней функцией #2
C++
1
2
3
4
5
switch (ch)
{
case 1: {rand_array(A,M,N); break;}
case 2: input(A,M,N) ;
}
сделай так и все заработает, в switche всегда нужно использовать break
SHAFT007
2 / 2 / 1
Регистрация: 29.01.2012
Сообщений: 25
29.01.2012, 12:14  [ТС]     Не могу справится с последней функцией #3
Цитата Сообщение от tyrnikMan Посмотреть сообщение
C++
1
2
3
4
5
switch (ch)
{
case 1: {rand_array(A,M,N); break;}
case 2: input(A,M,N) ;
}
сделай так и все заработает, в switche всегда нужно использовать break
Точно ) Простите ) Я совсем забыл.... Спасибо огромное
Yandex
Объявления
29.01.2012, 12:14     Не могу справится с последней функцией
Ответ Создать тему
Опции темы

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