Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 09.05.2011
Сообщений: 21

подскажите пожалуйста, что не так?

09.05.2011, 21:41. Показов 808. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

У меня вопрос по поводу задачи: найти букву, чаще встречающуюся в тексте.

Т.е. я ввожу массив из элементов, записываю в матрицу не повторяющиеся элементы *если есть эл-ты, которые повторяются, я увеличиваю кол-во, которое уже есть в матрице * после, ищу эл-т с наибольшим кол-ом и вывожу его, при том само кол-во выводить не обязательно.
там еще такая путаница с типами происходит ( получается, в матрице есть одновременно как тип char, так и тип int ( а как 2 одномерных массива между собой связать, я додумать не могу (
и сразу вопрос : можно ведь обращаться к конкретным эл-ам матрицы, например math[i][0] - это получается i-ая строка в первом столбце ?
тогда, чтобы присвоить искомые кол-ва букв достаточно записи math[i][1] = kol + 1 ?

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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{ 
char tmas[10]; 
char math[10][10];    char ib;
cout << "kol-vo el-ov "; int z; cin >> z;
 cout << "vvod " << z << " bukv " ;
  for (int k=0; k<z; k++) cin >> tmas[k];  //vvod massiva tmas[k] - изначальный массив
    
  int kol=0;
 
  for (int k=0; k<z; k++)  //заполнение матрицы
    {
        for (int i=0; i<z; i++)
        {
            for(int j=0; j<=1; j++)
            {
            if(tmas[k] != math[i][j]) {math[i][j] = tmas[k];
                                               math[i][j] = kol+1;
                                                  }
            else
                 math[i][1]=kol+1;
            }
        }
           for (int i=0; i<z; i++)  //поиск макс числа в числах
           {
               for (int j=0; j<=1; j++)
               {
                   if(math[i][j] > math[i++][j]) ib = math[i][j];
               }
           }
   }
cout << ib;
 
 
 getch();
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.05.2011, 21:41
Ответы с готовыми решениями:

Подскажите пожалуйста, что не так
Задание из книги. Вроде бы все делаю правильно, но в итоге программа не правильно считает. На скрине условие и сама формула, по которой...

Подскажите пожалуйста что не так
Вот выражение: e2/3+e3/4+e4/5+...+e9/10 Вроде компилится, консоль запускается, но выражение не высчитывает. Вот код: #include...

Подскажите,пожалуйста ,что не так с кодом!
Не могу понять,что с кодом.Если не сложно,то прокомментируйте пожалуйста #include &lt;stdio.h&gt; #include &lt;string.h&gt; ...

4
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
09.05.2011, 22:26
Ну например так.
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
#include <stdio.h>
 
int main(int argc, char *argv[]) {
  char file_name[] = "/usr/share/doc/linux-generic/copyright";
  FILE *source = fopen(file_name, "r");
  // Как вариант, можно считывать из стандартного ввода:
  // source = stdin;
  if (source == NULL) {
    perror("Error opening file");
  } else {
    int symbol, max_symbol = 0;
    char symbols[256];
    size_t i;
    for (i = 0; i < 256; ++i)
      symbols[i] = 0;
    do {
      symbol = fgetc(source);
      ++symbols[symbol];
      if (symbols[max_symbol] < symbols[symbol])
        max_symbol = symbol;
    } while (symbol != EOF);
    printf("Most common symbol is %c. File has it %d time(s).\n",
           max_symbol, symbols[max_symbol]);
    fclose(source);
  }
  return 0;
}
0
0 / 0 / 0
Регистрация: 09.05.2011
Сообщений: 5
09.05.2011, 22:47
Или так

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
#include<iostream>
using namespace std;
void main()
{
    cout<<"Vvedite chislo elementov: ";int chislo;cin>>chislo; //число элемнтов в массиве
    cout<<"Vvedite stroku: ";
    char *stroka; //для строки, память выделил динамически, можно все сделать через массив,
    stroka=new char [chislo+1]; //если не знаешь, что такое указатели
    cin>>stroka; //считываем строку
    
    int *stroka_kol; //массив количеств всех символов
    stroka_kol=new int [256];
    for(int i=0;i<=256;i++)
        stroka_kol[i]=0; //изначально обнуляем значения
 
    int j=0;
    while(j<chislo)
    {
        stroka_kol[stroka[j]]++; //считаем количества каждого символа в строке
        j++;
    }
 
    int pred=stroka_kol[0];
    char max=0;
    for(int k=1;k<=256;k++)
    {
        if(stroka_kol[k]!=0)
        {
            if(stroka_kol[k]>pred)
                max=k;              //находим макс., используя предыдущий и следующий ненулевые элементы
            pred=stroka_kol[k];
        }
    }
    cout<<max<<'\n'; //выводим часто встречаемый символ
}
0
0 / 0 / 0
Регистрация: 09.05.2011
Сообщений: 21
10.05.2011, 10:51  [ТС]
спасибо )
сейчас попробуем

Добавлено через 1 час 55 минут
спасибо всем за ответы)
вот работающая прога, только чтение из файла *но мне так и нужно было;-) *

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 "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{ 
  FILE *file; char ch; int q = 0; int l = 0;
  char *mas; mas = new char [l+1];
  file = fopen("F:\\text.txt","r");
  if (file == NULL) cout << " ошибка открытия файла ";
  else 
  {
      while ((ch = getc(file)) != EOF) { mas[q] = ch;
                                         q++; 
                                         l = q;
                                       }
  
  
        int *mas_kol; 
        mas_kol = new int [256];
        for(int i=0; i<=256; i++) mas_kol[i]=0; 
 
        int j=0;
        while(j < l)
        {
                mas_kol[mas[j]]++; 
                j++;
        }
 
        int pred = mas_kol[0];
        char max = 0;
        for(int k=1; k<=256; k++)
        {
                if(mas_kol[k]!=0)
                {
                        if(mas_kol[k]>pred)
                                              max = k;              
                                              pred = mas_kol[k];
                }
        }
  
cout << max;
fclose(file);
  }
getch();
}
0
0 / 0 / 0
Регистрация: 09.05.2011
Сообщений: 5
10.05.2011, 12:51
ну да) использовали мою идею)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.05.2011, 12:51
Помогаю со студенческими работами здесь

Подскажите пожалуйста что не так с программой
#include&lt;iostream&gt; #include&lt;time.h&gt; #include&lt;cstdlib&gt; using namespace std; int main() { int data; int i, j; ...

Подскажите пожалуйста,что нужно сделать,что бы отображался русский язык??
Добрый вечер,формучани! После компиляции VS 12 у меня место русского языка показывает неизвестные иероглифы. Подскажите пожалуйста,что...

Пожалуйста подскажите что не так
нужно было написать скрипт, считающий выражение сам алгоритм вроде бы верен, но выводит nul &lt;HTML&gt; &lt;HEAD&gt; ...

подскажите пожалуйста что не так!
заявка с сайта приходит но значения &quot;телефон&quot; и &quot;имя&quot; не заполнены!! в чем косяк?? я новичок поэтому буду рад если &quot;гуру мне...

подскажите пожалуйста что не так!
заявка с сайта приходит но значения &quot;телефон&quot; и &quot;имя&quot; не заполнены!! в чем косяк?? я новичок поэтому буду рад если &quot;гуру мне...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru