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

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

Войти
Регистрация
Восстановить пароль
 
egorlp
5 / 5 / 1
Регистрация: 09.05.2010
Сообщений: 43
#1

Удаление главной диагонали - C++

14.11.2010, 15:04. Просмотров 427. Ответов 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
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <math.h>
#include <time.h>
using namespace std;
 
 
 
int main( void )
{
        srand (time(NULL));
        float **a;
        int  n;
        cout<<"n> ";
        cin>>n; 
        cout<<endl;
        if (n<0) n=abs(n);
 
        cout<<endl;
        a=new float* [n];
        for (int i=0;i<n;i++)
        {
                a[i]=new float[n];
             for (int j=0;j<n;j++)
             {
                  a[i][j]=rand()%50+10;//+float((rand()%100))/100;
                          cout<<a[i][j]<<" ";
             }
                 cout<<endl;
        }
   for (int i=0;i<n;i++)
        {
     for (int j=0;j<n;j++)
         {
             if (i=j) };
        
        
 delete [a[i]] }
Когда пишу в delete еще и j, пишет что j - необьявлено. Помогите, если можете. Я знаю как это осуществить на Паскале, а вот с представлением данной задачи на С++ возникла проблема, т.к. еще не совсем освоился в нем.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2010, 15:04     Удаление главной диагонали
Посмотрите здесь:

Найти сумму каждой диагонали матрицы выше главной диагонали - C++
Дана матрица n*m, найти сумму каждой диагонали отдельно, выше главной диагонали. Не могу понять задачу помогите пожалуйста.

Обменять элементы массива на главной диагонали с элементами на побочной диагонали - C++
Всем привет. Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от 0 до 100. Обменять местами...

Разместить на главной диагонали матрицы суммы элементов, лежщих на диагоналях, перпендикулярных к главной - C++
Не могу решыть задучу.Выглядит примерно так.Создать квадратную матрицу целых чисел размером 9х9.Заполнить матрицу случайными числами....

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

Составить функцию нахождения максимального элемента в диагонали матрицы, параллельной главной диагонали - C++
Составить функцию нахождения максимального элемента в диагонали матрицы, параллельной главной диагонали. Используя эту функцию в матрице...

Найти произведение максимального элемента главной диагонали на минимальный элемент побочной диагонали - C++
Всем привет! Мастера помогите доделать задание с матрицой. Вот само задание: Найти произведение максимального элемента главной...

Составить функцию нахождения максимального элемента Мх в диагонали матрицы, параллельной главной диагонали - C++
Пожалуйста помогите с решением задачи на С++ Составить функцию нахождения максимального элемента Мх в диагонали матрицы, ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Форумчанин
Эксперт С++
4511 / 2853 / 227
Регистрация: 12.12.2009
Сообщений: 7,249
Записей в блоге: 1
Завершенные тесты: 1
14.11.2010, 16:51     Удаление главной диагонали #2
Весь код не смотрел, но по поводу
Когда пишу в delete еще и j, пишет что j - необьявлено
могу сказать, что во первых - j существует только в теле цикла
C++
1
2
3
for (int j=0;j<n;j++)
{
if (i=j) };
за его пределами j нет
во вторых - так массивы не освобождаются, нужно делать вот так:
C++
1
delete []a;
Добавлено через 1 минуту
посмотрел код, что-то мне подсказывает, что строкой "delete[a[i]]"вы хотели удалить один элемент массива, я прав?
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
14.11.2010, 16:55     Удаление главной диагонали #3
за его пределами j нет
Kastaneda, ну это смотря в каком компиляторе, в древнем Турбо С++ такое возможно

Добавлено через 49 секунд
Впрочем у ТС явно не Турбо С++)
Kastaneda
14.11.2010, 17:10
  #4

Не по теме:

Цитата Сообщение от Maxwe11 Посмотреть сообщение
в древнем Турбо С++ такое возможно
Но ведь это не по стандарту!!?

egorlp
5 / 5 / 1
Регистрация: 09.05.2010
Сообщений: 43
14.11.2010, 17:37  [ТС]     Удаление главной диагонали #5
Цитата Сообщение от Kastaneda Посмотреть сообщение
Весь код не смотрел, но по поводу

могу сказать, что во первых - j существует только в теле цикла
C++
1
2
3
for (int j=0;j<n;j++)
{
if (i=j) };
за его пределами j нет
во вторых - так массивы не освобождаются, нужно делать вот так:
C++
1
delete []a;

т.е. мне нужно delete занести в for.

Цитата Сообщение от Kastaneda Посмотреть сообщение
Добавлено через 1 минуту
посмотрел код, что-то мне подсказывает, что строкой "delete[a[i]]"вы хотели удалить один элемент массива, я прав?
Разве один элемент? Ведь в цикле идет приращение, т.е. будут рассматриваться все значения
egorlp
5 / 5 / 1
Регистрация: 09.05.2010
Сообщений: 43
16.11.2010, 14:35  [ТС]     Удаление главной диагонали #6
Ух, а самое главное то забыл написать) , нужно удалить главную диагональ.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
16.11.2010, 14:55     Удаление главной диагонали #7
egorlp, Что значит удалить главную диагональ? Обнулить элементы главной диагонали?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2010, 15:40     Удаление главной диагонали
Еще ссылки по теме:

Заменить каждый нулевой элемент главной диагонали матрицы максимальным элементом побочной диагонали - C++
дан массив А. Заменить каждый нулевой элемент главной диагонали максимальным элементом побочной диагонали! Подсчитать кол-во нулевых...

Найти максимальный элемент главной диагонали матрицы и множитель положительных элементов выбраной диагонали - C++
Узнать максимальные элемент на главной диагонали и множитель позитивных элементов выбраной диагонали. Рамер матрицы вводить с клавиатуры,...

Алгоритм обхода диагонали параллельной главной диагонали матрицы - C++
Как обработать каждый элемент матрицы, находящийся на диагонали параллельной главной диагонали? Понимаю, что надо ввести какую-то...

Динамически распределение памяти. Матрицы. Найти максимальный ниже побочной диагонали, и минимальный главной диагонали - C++
В матрице n-го порядка найти максимальный среди элементов , лежащих ниже побочной диагонали, и минимальный среди элементов , лежащих...

Сохранить все нулевые элементы, размещенные на главной диагонали и в верхней половине области выше диагонали - C++
Сохранить все нулевые элементы , размещенные на главной диагонали и в верхней половине области выше диагонали . Срочно!!


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

Или воспользуйтесь поиском по форуму:
egorlp
5 / 5 / 1
Регистрация: 09.05.2010
Сообщений: 43
16.11.2010, 15:40  [ТС]     Удаление главной диагонали #8
Условие: Дана вещественная матрица N*N. Удалить из матрицы жлементы главной диагонали.
Yandex
Объявления
16.11.2010, 15:40     Удаление главной диагонали
Ответ Создать тему
Опции темы

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