Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 01.02.2018
Сообщений: 13
1

Дан двумерный массив. Удалить из него первую из строк, сумма элементов которых не превышает некоторое заданное число

01.02.2018, 17:47. Показов 2488. Ответов 7
Метки нет (Все метки)

Помогите с решением:

Дан двумерный массив. Удалить из него первую из строк, сумма элементов которых не превышает некоторое заданное число.

Всем заранее большое спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.02.2018, 17:47
Ответы с готовыми решениями:

Удалить из матрицы первую из строк, сумма элементов которых не превышает некоторое заданное число
Дан двумерный массив. Удалить из него первую из строк, сумма элементов которых не превышает...

Удалить из матрицы первую из строк, сумма которой не превышает заданное число
дан двумерный массив, удалить из него первую из строк сумма которой не превышает заданное число.....

Дан двумерный массив: удалить из него первую из строк
Дан двумерный массив. а) Удалить из него первую из строк, сумма элементов которых не превышает...

Сформировать двумерный массив. Удалить из него все строки, в которых встречается заданное число
Сформировать двумерный массив. Удалить из него все строки, в которых встречается заданное число

7
1565 / 937 / 609
Регистрация: 25.04.2016
Сообщений: 2,623
01.02.2018, 20:57 2
Что значит УДАЛИТЬ строку? Создать аналогичный массив, и переписать в него все значения из старого, за исключением строки, сумма элементов которой...? Или заполнить строку нулями? Или вывести на экран весь массив, кроме неугодной строки?

Есть собственные наработки, чтобы можно было посмотреть как именно вы объявляете массив хотя бы?
0
0 / 0 / 0
Регистрация: 01.02.2018
Сообщений: 13
01.02.2018, 21:20  [ТС] 3
Если честно, то я и сам не понял задания и думал, что может быть есть некая функция, или способ удаления из массива строки, я сам реализовал это через заполнения строки нулями, но думаю, это не совсем верно, скорее всего речь идет о создании нового массива без данной строки.
0
16 / 15 / 13
Регистрация: 20.11.2017
Сообщений: 100
01.02.2018, 21:20 4
Если
Цитата Сообщение от stake-k26 Посмотреть сообщение
заполнить строку нулями
как вариант:
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
#include <stdio.h>
#include <windows.h> 
#include <time.h>
#include <stdlib.h>
#define N 3
 
int main(void)
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    srand(time(NULL));
    
    int mass[N][N], a, sum;
    
    printf("\nВаш массив: \n");
    for (int i = 0; i < N; i++) {       // заполняем массив
        for (int j = 0; j < N; j++) {
            mass[i][j] = rand() %10;
            printf("%i ", mass[i][j]);
        }
        printf("\n");
    }
    printf("\n\n Введите число: \n");       
    scanf("%i", &a);
    
        for (int i = 0; i < N; i++) {    
            sum = 0;
            for (int j = 0; j < N; j++){
            sum += mass[i][j];
            }                      // если сумма меньше заданого числа, инициализируем нулями
            if (sum < a) { 
            for (int k = 0; k < N; k++) mass[i][k] = 0;
            break;              
            }
        }
 
printf("\nНовый массив: \n"); // выводим новый массив
        for(int i = 0; i < N; i++) {
            for (int j = 0; j < N; j++) {
            printf("%i ", mass[i][j]);
            }
        printf("\n");
        }
        
    system("pause");
    return 0;   
}
1
0 / 0 / 0
Регистрация: 01.02.2018
Сообщений: 13
01.02.2018, 21:21  [ТС] 5
Можете реализовать с созданием нового массива и записи в него данных без строки, если выполняется условие?
0
16 / 15 / 13
Регистрация: 20.11.2017
Сообщений: 100
01.02.2018, 21:27 6
ridowu, пробую, пока немного не те числа в итоге выдает, я думаю stake-k26 поможет)
1
1565 / 937 / 609
Регистрация: 25.04.2016
Сообщений: 2,623
01.02.2018, 21:36 7
Лучший ответ Сообщение было отмечено ridowu как решение

Решение

ridowu, если у нас первый массив a[M][N], то второй всегда будет b[M-1][N], т.е. мы скажем объявляем размеры массива через define:

#define M 5
#define N 7
#define O 4

тогда у нас будет два массива:

int a[M][N];
и
int b[O][N];

Остается лишь найти строку, определить ее номер и переписать все значения из массива a в массив b, кроме заданной строки.

Т.е. если мы выяснили, что номер искомой строки например number = 2;
то:
C
1
2
3
4
5
6
7
8
9
10
k = -1;
for(i=0; i<M; i++)
{
    if(i != number)
    {
        k++;
        for(j=0; j<N; j++)
            b[k][j] = a[i][j];
    }
}
1
0 / 0 / 0
Регистрация: 01.02.2018
Сообщений: 13
01.02.2018, 21:44  [ТС] 8
Спасибо большое за помощь.
0
01.02.2018, 21:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.02.2018, 21:44

Сформировать двумерный массив, удалить из него все столбцы в которых встречается заданное число
Здравствуйте! Помогите пожалуйста с задачкой, уже который день бью голову над ней, всё без толку....

Дан двумерный массив. Вставьте строку после всех строк, в которых находится заданное число А
Помогите пожалуйста с задачами 2. Дан двумерный массив. Вставьте строку после всех строк, в...

Найти произведение элементов в каждом массиве, сумма которых не превышает заданное целое число
Дано три массива целых чисел А , в , С и целое число М. При последовательном просмотре элементов...

Дан двумерный массив из двух строк и пятнадцати столбцов. Найти номера двух соседних столбцов, сумма элементов в которых
решите плз


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru