Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
кверти
4 / 4 / 3
Регистрация: 22.09.2013
Сообщений: 166
Завершенные тесты: 2
#1

Программа про массив - C++

22.12.2013, 23:04. Просмотров 255. Ответов 1
Метки нет (Все метки)

В заданной целочисленной матрице NxM найти номер последней из её строк , содержащих максимальное количество одинаковых элементов. Собственно у меня несколько проблем .
1) Не правильно выделяется память(как думаю я)
2) Не могу подобрать условие чтобы выполнялось условие поставленной задачи . Помогите пожалуйста доработать и понять в чем ошибки и нехватки.
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
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <iostream>
 
int main(int argc, char *argv[])
{
        int i=0,j=0,h=0,N=5,M=5,i_stroki=0;
        setlocale(0, "");
        int  n=0, handle=0; //объявляю переменные типа integer
        char *a_storage;
        char **A;
 
        printf("Введите размерность N/M \n");
        scanf("%i %i",&N,&M);
    
        a_storage = (char*)malloc(N*M); //выделяем память для массива размером N*M байт
        A = (char**)malloc(N*sizeof(char*)); //массив указателей на строки матрицы
 
        for (i = 0; i < N; ++i)
            A[i] = a_storage + i*M; //инициализируем строки
 
        printf("введите элементы матрицы:\n");
        for (i = 0; i<N; i++)
        for (j = 0; j<M; j++)
        {
            printf("A[%d][%d]=", i, j);
            scanf("%d", &A[i][j]);
        }
        printf("Исходная матрица:\n");
 
        for (i = 0; i<N; i++)
        {
            for (j = 0; j<M; j++)
                printf("%d ", A[i][j]);
                printf("\n");
        }
 
       /*Не могу понять как доработать фрагмент*/
 
        printf("наибольшая повторяющаяся строка %d\n", i_stroki);
        system("pause");
 
        free(A); //освобождаем память
        free(a_storage); //освобождаем память
}

http://www.cyberforum.ru/cpp-beginners/thread333100.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2013, 23:04
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Программа про массив (C++):

программа про последовательность
Найти сумму элементов , которая больше 10^-5 с последовательностью 1,1,5/7,7/15

Программа в С про студентов
Помогите) пожалуйста =_= мучаюсь третюю неделю =_= Написать программу...

Программа про игроков
Игрок А объявляет двузначное число от 01 до 99. Игрок В меняет местами его...

Программа про Stack
Помогите пожалуйста, решить программу про Stack. The input file should be...

Программа про температуры
Помогите написать данную программу,и если можно к каждой строчке кода прилагать...

1
ZeR_0
117 / 109 / 78
Регистрация: 30.01.2013
Сообщений: 297
22.12.2013, 23:05 #2
Лучший ответ Сообщение было отмечено кверти как решение

Решение

Здесь вообще все не правильно...

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 <iostream>
 
int main(){
    setlocale(LC_ALL,"rus");
 
    int n, m;
    int max = 0, buf = 0, maxStr = 0;
    int **array;
 
    std::cout << "Введите размер матрицы: ";
    std::cin >> n >> m;
 
    array = new int*[n];
    for(int i = 0; i < n; i++)
        array[i] = new int[m];
 
    std::cout << "Заполните матрицу" << std::endl;
 
    for(int i = 0; i < n; i++)
        for(int j = 0; j < m; j++)
            std::cin >> array[i][j];
 
    std::cout << "Матрица:" << std::endl;
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++){
            std::cout << array[i][j] << " ";
        }
        std::cout << std::endl;
    }
 
    for(int i = 0; i < n; i++){
        for(int j = 0; j < m; j++){
            buf = 0;
            for(int k = 0; k < m; k++){
                if(array[i][j] == array[i][k])
                    buf ++;
            }
            if(buf > max){
                max = buf;
                maxStr = i;
            }
        }
    }
 
    std::cout << "Строка: " << maxStr << " Максимальное значение: " << max << std::endl;
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2013, 23:05
Привет! Вот еще темы с решениями:

Программа про денежки.
Доброго времени суток. =] Учусь на матфаке, программирование у нас уже 2...

Программа про пиликающий процессор
Недавно писал легкую программу(т.к новичок)про пиликающий процессор.Суть в...

Программа про динамические массивы
Нужна программа, объявляющая динамический двухмерный массив с заданным вторым...

Простая программа про площади прямоугольников
Требуется написать программу. Условия: 1. Исходное данное - натуральное...


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

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

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