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

Удаление заданого элемента матрицы,двумерные массивы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Обработка двумерного массива,наибольшее из значений элементов столбца http://www.cyberforum.ru/cpp-beginners/thread520281.html
Дана целочисленная квадратная матрица размера nxn, где 5≤n≤25. Программа должна быть разбита на несколько функций и обязательно содержать: 1. Функцию формирования исходного массива; 2. Функцию вывода исходного массива; 3. Одну или более функций, реализующих вычислительную часть алгоритма. Все функции должны содержать список параметров, причем массив (матрица) должен передаваться как параметр...
C++ разработать программу на си++ вычисления выходного значения функции Задание: разработать программу на си++ вычисления выходного значения функ-ции y = \operatorname{f} (x_1, x_2, x_3, x_4) = \frac{\operatorname{tg} (x_1 - x_3)}{127 + x_3} \cdot \operatorname{tg}(x_3 + x_4) Выходное значение и входные должны отображаться на экране в виде: X1= X2= X3= X4= Y= http://www.cyberforum.ru/cpp-beginners/thread520257.html
C++, сортировка диагоналей матрицы размероности n x n C++
Дана матрица размерностью n*n, содержащая целые числа. Отсортировать диагонали матрицы, параллельные побочной, по возрастанию элементов алгоритмом Шелла/методом вставок. Помогите хотя бы одним из методов. Добавлено через 4 часа 26 минут *******
Необходимо изменить размеры окна консоли C++
Приветствую. Необходимо изменить размеры окна консоли, допустим, на 50 * 50 средствами WinAPI, поэтому вот такой код system ("mode con cols=50 lines=50"); не подходит. Посмотрел MSDN, нашёл функцию SetConsoleWindowInfo.
C++ Написать программу, которая, согласно запросу пользователя, выводит информацию об абонентах http://www.cyberforum.ru/cpp-beginners/thread520223.html
нужно написать программу которая бы согласно запросу пользователя выводит информацию об абонентах, подключенных к одной АТС.
C++ Разбор числа Всем привет. Нужно разобрать число на две части. Первая часть(инструкция) - шестнадцатеричное число, вторая часть(операнд) - десятичное. Допустим имеем 0xA225. Инструкция - 0xA2, операнд - 25. Собственно, с этим разобрался, но сейчас стоит задача ещё и обрабатывать числа с плавающей точкой, допустим 0xA21.2 . Инструкция - 0xA2, операнд - 1.2 . Вот с этим разобраться не могу, есть мысль, вводить... подробнее

Показать сообщение отдельно
Raikerian
9 / 9 / 1
Регистрация: 10.05.2011
Сообщений: 101
25.03.2012, 00:20     Удаление заданого элемента матрицы,двумерные массивы
Исправил:
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <stdio.h>
using namespace std;
void output_arr(int arr[25][25],int nl, int nc) //Вывод массива на экран
{
    int i,j;
    for(i=0;i<nl;i++)
    {
        for(j=0;j<nc;j++)
        {
            printf("%d\t",arr[i][j]);
        }
        printf("\n");
    }
}
void input_arr(int arr[25][25],int nl, int nc) //Ввод массива с клавиатуры
{
    int i,j;
    for(i=0;i<nl;i++)
    {
        for(j=0;j<nc;j++)
        {
            printf("a[%d][%d]=",i+1,j+1);scanf("%d",&arr[i][j]);}
        printf("\n");
    }
}
void del(int arr[25][25],int nl, int nc)//Удаление строки
{
    int i,j,max=0,temp,count[25];
    for(i=0;i<nl;i++)
        count[i]=0;
    for (i=0; i<nl; i++)
    {
        for ( j=0; j<nc; j++)
        {
            if (arr[i][j] != 0)
            {
                count[i] = count[i] + 1;
            }
        }
    }
 
    for ( i=0; i<nl; i++) // Ищем строку с максимальным элементом
    {
        if (count[i] > max)
        {
            max = count[i];
            temp = i; //Сохраняем номер строки
        }
    }
    for (i=temp; i<nl; ++i)
        for (j=0; j<nc; ++j)
            arr[i][j]=arr[i+1][j];
}
int main()
{
    int nl, nc, arr[25][25];
    scanf("%d %d",&nl,&nc);
    input_arr(arr,nl,nc);
    del(arr, nl, nc);
    nl--;
    output_arr(arr,nl,nc);
    return 0;
}
Собственно зачем вовсе использовался указатель а затем ссылка на него? Убрал. Затем, max надо было инициализировать при объявлении (приравнять нулю).
Так же никчему использовать функции типа int, ведь нам ничего возвращать не надо (никаких значений). Изменил на void.
Ну всё вроде, проверяйте.
 
Текущее время: 15:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru