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

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

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

ошибка - C++

05.10.2010, 22:45. Просмотров 503. Ответов 11
Метки нет (Все метки)

в чем моя ошибка , уже и так и сяк переставляла а компиль подчеркивает..... m и n в int mni[n], int max[m] и подчеркивает вторую скобку в void sedlo(double mas[][])
вот код

#include "stdafx.h"
#include <iostream>
#include <Windows.h>
#include <math.h>
using namespace std;
void sedlo( double mas[][])
{ int i,j,s;
int min[n];
int max[m];
for ( i= 0; i<n; i++ ) {
s= mas[i][0];
for ( j= 1; j<n; j++ ) {
if ( mas[i][j]<s ) { s= mas[i][j]; }
}
min[i]=s;
}

for ( j= 0; j<m; j++ ) {
s= mas[0][j];
for ( i= 1; i<m; i++ ) {
if ( m[i][j]>s ) { s= mas[i][j]; }
}
max[j]= s;
}

for ( i= 0; i<n; i++ ) {
for ( j= 0; j<n; j++ ) {
if ( mas[i][j] == max[j] && mas[i][j] == min[i] ) {

cout<<m[i][j]<<i<<j<<endl;
}
}


int _tmain(int argc, _TCHAR* argv[])
{ SetConsoleCP(1251);
SetConsoleOutputCP(1251);

int **mas; int*n ; int*m;
int i,j;
cout<<"Введите количество строк массива: "<< endl;
cin>>n;
cout<<"Введите количество столбцов массива: "<< endl;
cin>>m;
mas=new int*[n];
for(i=0; i<n; i++)
mas[i]=new int[m];
cout<<"Введите элементы массива: "<< endl;
for(i=0; i<n; i++)
for(j=0; j<m; j++)
{
cout<<"["<<i<<"]["<<j<<"]= ";
cin>>mas[i][j];

}
cout<<"исходный массив"<<endl;
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
cout<<mas[i][j]<<" ";
cout<<endl;
}
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
05.10.2010, 22:49     ошибка #2
Цитата Сообщение от wild_flower Посмотреть сообщение
void sedlo( double mas[][])
C++
1
void sedlo( double mas[][]);
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
05.10.2010, 22:51     ошибка #3
Цитата Сообщение от -comrade- Посмотреть сообщение
void sedlo( double mas[][]);
Все бы хорошо. НО так не должно быть. Либо
C++
1
double** mas;
либо
C++
1
double mas[n][];
где n - глобальная константа, если передаем в функцию.
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
05.10.2010, 22:51     ошибка #4
Нельзя в параметрах использовать двумерный массив без размерностей. Первое измерение всегда должно иметь размер. Например:
C++
1
void sedlo( double mas[4][])
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
05.10.2010, 22:52     ошибка #5
Хотя нет, поспешил я
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
05.10.2010, 22:53     ошибка #6
C++
1
2
3
int i,j,s;
int min[n];
int max[m];
Что такое n и m? Они нигде не объявлены.
wild_flower
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
05.10.2010, 22:56  [ТС]     ошибка #7
ну ладно пусть будет просто void sedlo(double**mas)
а почему int max[n];
int min[m]; m, n подчеркивает-я же их в main задаю
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
05.10.2010, 22:56     ошибка #8
wild_flower, А в функции они где? Почитайте ка вы про области видимости...
wild_flower
0 / 0 / 0
Регистрация: 14.09.2010
Сообщений: 36
05.10.2010, 23:04  [ТС]     ошибка #9
const int n;
const int m;
объявил в самом начале-результат тот же
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
05.10.2010, 23:07     ошибка #10
wild_flower, А это на что?
Откуда компиль будет брать?
C++
1
2
int min[n];
int max[m];
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
05.10.2010, 23:08     ошибка #11
wild_flower, если в самом начале и глобально, то надо присвоить им значения.
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
05.10.2010, 23:09     ошибка #12
gooseim, Ну да. и min/max как массивы объявить
Yandex
Объявления
05.10.2010, 23:09     ошибка
Ответ Создать тему
Опции темы

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