Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2010, 18:47   #1
nicklan
Пользователь
 
Регистрация: 23.12.2009
Сообщений: 15
Восклицание Вопрос о двумерных массивах

Помогите реализовать эту задачу, которая вводит c клавиатуры двумерный массив неотрицательных целых чисел, находит минимум из максимальных элементов каждой строки и выводит на экран этот минимум, все максимальные элементы строк, их местоположение в первоначальном массиве и число попыток ввести отрицательный элемент

Цитата:
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <conio.h>
int main()
{setlocale(0,"Rus");
int i,m,n,j,b,c;
cout<<"Введите размерность массива.\nКоличество строк: ";
cin >> m;
cout<<"Количество столбцов: ";
cin>> n;
double a[m][n]; //Немогу объявить массив, всегда пишет ошибку

_getch();
return 0;
}
nicklan вне форума Ответить с цитированием
Старый 11.10.2010, 18:51   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

в ansi c и стандартном c++ нельзя использовать массивы переменной длины, они есть только в c99 и gnu c++. используй динамическую память
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 11.10.2010, 19:36   #3
Kill-All-N-Thrash
Пользователь
 
Аватар для Kill-All-N-Thrash
 
Регистрация: 28.07.2010
Сообщений: 43
По умолчанию

Хм... не знаю, как в стандарте, но у меня такое объявление работает (g++)
Ну так вроде же длина массива не собирается меняться... а как, если переменные m и n объявить с const? Или захардкодить (численно вписать).
Kill-All-N-Thrash вне форума Ответить с цитированием
Старый 11.10.2010, 20:35   #4
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Цитата:
Сообщение от Kill-All-N-Thrash Посмотреть сообщение
Хм... не знаю, как в стандарте, но у меня такое объявление работает (g++)
Ну так вроде же длина массива не собирается меняться... а как, если переменные m и n объявить с const? Или захардкодить (численно вписать).
Наверное, потому что g++ и есть gnu c++.
MaTBeu вне форума Ответить с цитированием
Старый 11.10.2010, 21:05   #5
Kill-All-N-Thrash
Пользователь
 
Аватар для Kill-All-N-Thrash
 
Регистрация: 28.07.2010
Сообщений: 43
По умолчанию

Ды я в курсе
Действительно, я написал ересь, забыл, что пользователем вводится размерность.
Глюкануло меня нехило((
Kill-All-N-Thrash вне форума Ответить с цитированием
Старый 11.10.2010, 21:44   #6
nicklan
Пользователь
 
Регистрация: 23.12.2009
Сообщений: 15
По умолчанию

Скажите что какой-то C99 или g++ лучше чем Visual Studio 2010?

Получается что C++ на Visual studio не способен справится с этой задачей?
nicklan вне форума Ответить с цитированием
Старый 12.10.2010, 04:17   #7
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Насколько я помню, VS держит C99
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Старый 12.10.2010, 10:27   #8
bondik
Форумчанин
 
Регистрация: 24.04.2008
Сообщений: 300
По умолчанию

зачем менять компилятор если проще использовать массив как
Код:
int **mas
и выделять памяти под нужное количество элементов

Да и научитесь пользоваться поиском,вчера очень похожая тема обьяснялась
http://programmersforum.ru/showthread.php?t=116517
не удивлюсь если вы из одного университета

Последний раз редактировалось Stilet; 12.10.2010 в 10:46.
bondik вне форума Ответить с цитированием
Старый 12.10.2010, 10:39   #9
Chris D
Пользователь
 
Регистрация: 14.01.2010
Сообщений: 31
По умолчанию

Код:
const int sSize1 = 10;
const int sSize1 = 20;

int **sArray;

//Вариант 1
sArray = new int *[sSize1];
for(int index = 0; index < sSize2; index++) {
	sArray[index] = new int[sSize2];
}
//
//Вариант 2
sArray = (int **) malloc(sSize1 * sizeof(int *);
for(int index = 0; index < sSize2; index++) {
	sArray[index] = (int *) malloc(sSize2 * sizeof(int);
}
//
for(int index = 0; index < sSize1; index++) {
	for(int index1 = 0; index1 < sSize2; index++) {
		sArray[index][index1] = rand();
		cout << sArray[index][index1];
	}
	cout << endl;
}
Вот простенький пример...
А далее делаете то, что Вам нужно...

P.s... Писал в блокноте... Сорри за возможно неверный синтаксис...
Chris D вне форума Ответить с цитированием
Старый 12.10.2010, 11:44   #10
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2ozo
Цитата:
Насколько я помню, VS держит C99
vs даже ansi c не полностью держит вот недавно специально студию 2010 ставил, чтобы проверить. ниче не изменилось в С с 2003 студии. забили на сишников микрософтовцы
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка и перестановка элементов в двумерных массивах nikshiyan Паскаль, Turbo Pascal, PascalABC.NET 3 18.07.2010 14:36
поиск минимума и максимума в двумерных массивах qbasic Bentli Помощь студентам 3 19.06.2010 20:00
функции в массивах udwik Общие вопросы C/C++ 1 25.01.2010 22:52
Вопрос о массивах makSum Помощь студентам 3 07.06.2008 21:58