BugTraq.Ru
Русский BugTraq
https://bugtraq.ru/lj/archive/2006/2912.2129.html

студенческо-программистское
29.12.06 21:29 // оригинал
Всякий раз, принимая лабы/зачеты/экзамены, я узнаю массу нового о программировании вообще и о С++ в частности. Казалось бы, все возможные извращения с кодом, характерные для начинающих, за эти годы должны быть посчитаны и надоесть, но всякий раз находится что-нибудь новенькое. Этот семестр принес два новых перла, тщательно воспроизведенных в паре десятков слизанных друг у друга лаб.

Номер раз, частотный анализ.
На входе некий буфер, нужно посчитать расклад по символам. Первый шаг нормальный, заводится массив из 256 элементов, в котором будут лежать счетчики- скажем, int charcount[256]. И на что я натыкаюсь, предполагая увидеть нечто вроде charcount[pBuff[i]]++, где pBuff[i] - очередной символ?
Барабанная дробь:

for(int j = 0; j<256; j++)
{
if(j == pBuff[i])
charcount[j]++;
}


Номер два, доступ к i-му элементу vector'а, скажем, vector<data*> a.
Банальное a[i]? Щас, правильный ответ:

vector<data*>::iterator ii = a.begin();
for(int j = 0; j<a.size(); j++)
{
if(j == i)
break;
ii++;
}
data* pData = *ii;

 
теги: студень  |  обсудить  |  все отзывы (0)  |  обсудить в LJ [2024]
назад «  » вперед

аналогичные материалы
неестественноинтеллектуальное // 29.09.23 16:50
викиисключительное // 20.05.20 21:20
закопать стюардессу // 19.11.15 18:53
роботокурсовое // 18.06.15 03:18
турнирнокурсовое // 10.02.15 17:11
преподавательское // 15.03.13 21:46
шарпоплюсноучебное // 31.10.12 18:24
лабораторное // 14.10.12 00:01
третьекурсное // 21.08.12 17:08
координатное // 20.06.12 15:22
 
последние записи
апгрейднософтовое // 17.08.25 21:48
отпускное // 20.07.25 18:53
апгрейднофинальное // 12.07.25 10:21
денежнозаботливое // 10.07.25 20:31
апгрейдноглючное // 10.07.25 12:14
апгрейдное // 09.07.25 20:31
каникулярное // 30.01.25 16:26
авиаэкспертное // 19.01.25 19:10
ihrkampfное // 02.10.24 16:30
отпускное // 08.07.24 23:02





  Copyright © 2001-2025 Dmitry Leonov Design: Vadim Derkach