IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> задача на динамические двумерные массивы, С++
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 233
Пол: Женский
Реальное имя: Dasha

Репутация: -  0  +


Дана целочисленная квадратная матрица. Определить:
1) сумму элементов в тех строках, которые не содержат отрицательных элементов;
2)минимум среди сумм элементов диагоналей,параллельных главной дтагонали матрицы.

программу нужно выполнить с использованием динамического двумерного массива,элементы которого нужно считывать с файла.

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


--------------------
irreparabilium felix olivio rerum
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 233
Пол: Женский
Реальное имя: Dasha

Репутация: -  0  +


исходный файл:
2 1 1 2 1

файл вывода:
1 1
2 1
Минимум среди сумм эл-тов диагоналей: 2

полный текст программы
#include <iostream.h>
#include <fstream.h>


int main()
{

//организация файлов ввода-вывода
ifstream fin ("input.txt");
if (!fin)
{
cout << "Файл input.txt не найден." << endl;
return 1;
}
ofstream fout("output.txt");
if (!fout)
{
cout << "Невозможно открыть файл для записи." << endl;
return 1;
}

//организация массива
int n;
fin >> n;
int i,j,s;
int **mas=new int *[n];
for (i=0;i<n;i++) mas[i]=new int [n];
for (i=0;i<n;i++)
for (j=0;j<n;j++) fin >> mas[i][j];
for (i=0;i<n;i++)
{
for (j=0;j<n;j++) fout << mas[i][j] << " ";
fout <<endl;
}

//1)
for (i=0;j<n;j++)
{
s=0;
int count=0;
for (j=0;j<n;j++)
{
s+=mas[i][j];
if (mas[i][j]<0) count++;
}
if (!count) fout << "Сумма эл-тов в строке№" << i << " : " << s << endl;
}

//2)
int min_s=10000;
for (j=0;i<n;j++)
{
s=0;
for (i=0;i<n-j;i++) s+=mas[i][j+i];
if(min_s < s) min_s = min_s;
else min_s = s;

s=0;
for (i=0;i<n-j;i++) s+=mas[j+1][i];
if(min_s < s) min_s = min_s;
else min_s = s;
}
fout << "Минимум среди сумм эл-тов диагоналей: " << min_s;

//освобождение памяти
for(i=0;i<n;i++) delete mas[i];
delete mas;

}


Сообщение отредактировано: volvo -


--------------------
irreparabilium felix olivio rerum
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Tribunal   задача на динамические двумерные массивы   8.10.2006 14:16
volvo   Т.к. в заголовке указан С++, то: std::vector …   8.10.2006 14:20
Tribunal   не поняла) а если что-то вроде int **p; p=new(int…   8.10.2006 14:27
volvo   Ты думаешь, что сделаешь лучше, чем написано в STL…   8.10.2006 14:32
Tribunal   я не думаю,что сделаю лучше. мне дали задание.я ег…   8.10.2006 14:35
klem4   void *malloc(unsigned s) Возвращает указатель на …   8.10.2006 14:46
мисс_граффити   вот типа того, что ты предлагаешь: далеко не оптим…   8.10.2006 17:46
volvo   Юля, ЭТО работать не будет... double* в int* нельз…   8.10.2006 17:53
мисс_граффити   сорри. было все double, заменяла и одно место проп…   8.10.2006 18:41
Tribunal   вот то что я нахимичила по этой задаче. создание м…   8.10.2006 19:23
volvo   Может, лучше так: // 1) for(i = 0; i < n; ++i…   8.10.2006 19:44
Tribunal   ок,действительно так лучше) а как быть со вторым..…   8.10.2006 20:10
volvo   Я бы делал так: int min_s = 10000; for(j = 0; …   8.10.2006 20:29
Tribunal   ок...сейчас проверю а кстати это нормально,что я и…   8.10.2006 20:58
volvo   Можешь использовать MAXINT, только придется сделат…   8.10.2006 21:00
Tribunal   а что ознаает это запись? min_s = (min_s < s) ?…   8.10.2006 21:04
volvo   Аналог вот этой записи: if(min_s < s) min_s = m…   8.10.2006 21:10
Tribunal   хммм....по части 1) части вообще ничего в файл не …   8.10.2006 21:21
volvo   Я что, телепат по-твоему? Мне твои исходные данные…   8.10.2006 21:37
Tribunal   исходный файл: 2 1 1 2 1 файл вывода: 1 1 2 1 М…   8.10.2006 21:54
volvo   :blink: У меня единицу выдает... Это как понимать…   8.10.2006 22:01
мисс_граффити   ...на уровне рекомендации: может, использовать в ц…   9.10.2006 2:43
Tribunal   а у меня всё равно 2=(( то есть у меня упорно счит…   9.10.2006 11:11
Tribunal   во 2) ошибку нашла... всё дело в моей невнимательн…   9.10.2006 17:32
arhDMC   Дана целочисленная квадратная матрица. Определить:…   14.12.2007 4:29


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.04.2024 7:09
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name