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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2015, 19:37   #1
wesker57
Александр
Пользователь
 
Аватар для wesker57
 
Регистрация: 06.04.2015
Сообщений: 32
По умолчанию Изменить таблицу a[1..m, 1..n] так чтобы в строках остались элементы которые встречаются более одного раза

Изменить таблицу a[1..m, 1..n] так чтобы в строках остались элементы которые встречаются более одного раза, остальные заменить нулем.

есть код, но не могу понять где в нем ошибки
Код:
#include<stdlib.h>
#include<stdio.h>

 
 
int main(){
    int n, m;
 
 
    printf("Введите размер массива: \n");
    scanf_s("%i", &n);
    scanf_s("%i", &m);
 
    int **arr;
    
    arr = (int**)malloc(n*sizeof(int*));
    for (int i = 0; i < n; i++){
        arr[i] = (int*)malloc(m*sizeof(int));
    }
 
 
    for (int i = 0; i < n; i++){
        for (int j = 0; j < m; j++){
            printf("Введите %i%i элемент: ", i, j);
            scanf_s("%i", &arr[i][j]);      }
    }
    int a;
 
    int count = 1;
    for (int i = 0; i < m; i++){
        for (int j = 0; j < m; j++){
                a = arr[i][j];
                for (int k = 1; k < m; k++){
                    if ((a == arr[i][j + k]) || (a == arr[i][j - k])){
                        count++;
                    }
                }
                if (count < 2){
                    arr[i][j] = 0;
                }
                count = 1;
            }
        }
    for (int i = 0; i < n; i++){
        printf("\n");
        for (int j = 0; j < m; j++){
            printf("%i\t", arr[i][j]);
        }
    }
 
 
    for (int i = 0; i < n; i++){
        free(arr[i]);
    }
    free(arr);
 
    return 0;
}

Последний раз редактировалось Stilet; 19.06.2015 в 19:53.
wesker57 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменить программу так, чтобы она выводила на экран таблицу факториалов от 0 до 15 nobo Qt и кроссплатформенное программирование С/С++ 5 09.06.2014 10:20
Даны числа а1,..,а60. Организовать новый массив из тех чисел, которые входят в последовательность более одного раза (С) Мишаня@ Помощь студентам 0 01.12.2012 22:01
Дана строка, вывести на экран знаки препинания, которые встречаются хотя бы 2 раза (Паскаль) GamBitFRK Помощь студентам 0 22.12.2011 17:22
Ввести из клавиатуры слово и распечатать символы, которые встречаются более одного раза. eragon_ua Паскаль, Turbo Pascal, PascalABC.NET 0 18.04.2011 18:26
Целочисленный массив. Элементы, которые встречаются более одного раза! Алина18 Помощь студентам 2 21.10.2010 08:10