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

Найти номер последней из ее строк,содержащих максимальное количество одинаковых элементов. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создать в динамической памяти двумерный массив целых чисел. http://www.cyberforum.ru/cpp-beginners/thread381804.html
Народ выручайте, по уши в долгах. Решить задачу на C++ Условие: Создать в динамической памяти двумерный массив целых чисел. Определить сумму положительных диагональных элементов. Заранее спасибо!
C++ Как запрятать программу Хотел спросить как можно запрятать программу, то есть что бы она висела в процессах: вот так ссылка на скрин http://image4all.narod.nnov.ru/images/11112011/4ebcfbbb7fed2.jpg и больше не где не отображалась. можно так если да то как??? http://www.cyberforum.ru/cpp-beginners/thread381763.html
C++ Сжать массив-как это сделать?
Здравствуйте, у меня вот тут задание такое есть,не знаю как сделать. Задача: Сжать массив,удалив из него все элементы,модуль которых не превышает 1.Освободившиеся в конце массива элементы заполнить нулями. Как это сделать? Прошу напишите программный код.А уж дальше я разберусь. Спасибо заранее!
Массив C++
#include <iostream.h> #include <conio.h> #include <stdio.h> #include <string.h> int main() { char a="Privet Kak dela??? norm)";//в массиве 23 символа for(int i=0;i<a;i++)//тут указываю чтобы он проверял только Privet Kak поэтому ставлю 11 { if(a==' ') a='-';
C++ Вращение шара http://www.cyberforum.ru/cpp-beginners/thread381738.html
Как заставить один шар вращаться в форме восьмёрки?
C++ Можно ли посмотреть, что внутри программы ? Скачал я программу типа тетрис через winrar. Распаковал в папку, а там только read me и иконка программы. Кликаешь на иконку, программа запускается. Как можно залезть в саму программу, чтобы посмотреть, что у ней внутри? подробнее

Показать сообщение отдельно
lemegeton
2917 / 1346 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
11.11.2011, 18:30     Найти номер последней из ее строк,содержащих максимальное количество одинаковых элементов.
Теперь, будьте любезны, расскажите, как вы это выяснили. Почему не третья?

Добавлено через 4 минуты
Оукей, теперь будем уточнять.

Тот же вопрос среди следующих строк.
2 1 1 2 2 1
1 2 1 2 1 2
2 2 2 2 1 1

Добавлено через 25 минут
Вот то, что непонятно образно делает то, что ты непонятно образно описал.
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int countSames(int *array, int width) {
  int i;
  int *counters = (int*)malloc(width * sizeof(int));
  // можно функцией memset
  for (i = 0; i < width; ++i) counters[i] = 0;
  for (i = 0; i < width; ++i) ++counters[array[i]];
 
  int result = 0;
  for (i = 0; i < width; ++i)
    if (counters[i] > 1)
      result += counters[i];
 
  free(counters);
  return result;
}
 
int main(int argc, char *argv[]) {
  srand(time(0));
  int height = 7 + rand() % 5;
  int width = 7 + rand() % 5;
  
  int i, j;
  int **matrix = (int **)malloc(height * sizeof(int*));
  
  for (i = 0; i < height; ++i) {
    matrix[i] = (int *)malloc(width *sizeof(int));
    printf("Row %3d:", i + 1);
    for (j = 0; j < width; ++j)
      printf("%3d", matrix[i][j] = rand() % width);
    int same = countSames(matrix[i], width);
    printf(" | %3d same", same);
    printf("\n");
  }
 
  int maxSameRowId = 0;
  int maxSameRowValue = countSames(matrix[maxSameRowId], width);
  for (i = 1; i < height; ++i) {
    int same = countSames(matrix[i], width);
    if (same >= maxSameRowValue) {
      maxSameRowId = i;
      maxSameRowValue = same;
    }
  }
 
  printf("\nMaximum same numbers %d are in row number %d\n",
    maxSameRowValue, maxSameRowId + 1);
 
  for (i = 0; i < height; ++i)
    free(matrix[i]);
  free(matrix);
 
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru