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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2013, 18:38   #1
RG21
Пользователь
 
Регистрация: 17.04.2013
Сообщений: 15
Вопрос Удалить строку из массива.Язык С++.

Почему не удаляет строку,в которой содержится заданное число, из массива.
Код:
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdlib>
using namespace std; 
void OutputArray(int **Array, int Line, int Column)
{
    for(int i=0; i<Line; i++)
    {
        for(int j=0; j<Column; j++)        
            cout<<setw(3)<<Array[i][j]<<" ";        
        cout<<endl;
    }
}
void DeleteArray(int **NewArray, int Line, int Column, int MaxElem)
{
    int String=Line+1;
    for(int i=0; i<String; i++)
    {
        for(int j=0; j<Column; j++)
        {
            if(NewArray[i][j] == MaxElem)
            {
                for(int k = i; k<String - 1; k++)
                    for(int a=0; a<Column; a++)
                    {
                        NewArray[k][a] = NewArray[k+1][a];
                    }
                String--; 
            }
        }
    }
}
void MaxElemArray(int **Array, int Line, int Column)
{
    int MaxElem; 
    int MaxLine=0, MaxColumn=0; 
 cout<<"vvedi n= ";
    cin>>MaxElem;                          
    for(int i=0; i<Line; i++)    
        for(int j=0; j<Column; j++)        
            if(Array[i][j]== MaxElem)
            {
                MaxElem = Array[i][j];
                MaxLine = i;
                MaxColumn = j;
            }            
    cout<<"Веденное число: "<<MaxElem<<endl;
    cout<<"Координаты: ["<<MaxLine<<"]["<<MaxColumn<<"]"<<endl;
}
 
void GenerationArray(int **Array, int Line, int Column)
{
    for(int i=0; i<Line; i++)    
        for(int j=0; j<Column; j++)        
            Array[i][j] = rand() % 100 - 50;
    cout<<"Сгенерированный массив:"<<endl;
    OutputArray(Array, Line, Column);
    MaxElemArray(Array, Line, Column);
}
 
int main()
{
    setlocale(0, "rus"); 
    srand(time(NULL)); 
    int **Array; 
    int Line=0, Column=0; 
    cout<<"Количество строк в матрице: ";
    cin>>Line;
    cout<<"Количество столбцов в матрице: ";
    cin>>Column;
    Array = new int * [Line];
    for (int i=0; i<Line; i++)    
        Array[i] = new int[Column];    
    GenerationArray(Array, Line, Column);
	 cout<<"Матрица после модификации:"<<endl;
	OutputArray(Array, Line, Column);
    for (int i=0; i<Line; i++)    
        delete [] Array[i];
 system("pause");
    return 0;
}
RG21 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двунаправленный линейный список строк. Вставить строку, удалить строку и заменить строку tarasman11 Паскаль, Turbo Pascal, PascalABC.NET 4 05.07.2012 20:27
По массивам, SOS! из целочисленного массива удалить из массива элементы, встречающиеся менее 3-х раз prelest' Паскаль, Turbo Pascal, PascalABC.NET 1 23.05.2011 22:37
Удалить строку YurIbr89 Помощь студентам 2 14.05.2011 00:24
VBA_макрос: удалить всю строку в таблице, если в ней есть слово "удалить" макарошка Microsoft Office Excel 15 05.10.2010 09:09
Удалить строку таблицы Aleksandr БД в Delphi 12 16.03.2010 11:31