0
В массиве ampVal содержится 25600 целых чисел внутри него. Мне нужно найти максимальное значение каждого набора из 1024 значений в массиве и сохранить его в другом массиве. Однако я не получаю эту часть для работы, она дает только 21 значение и случайное число «1348410436». ampVal - динамический массив.Максимальное значение диапазона значений в массиве (C++)
#include<iostream>
#include<fstream>
#include<string>
#include<sstream>
using namespace std;
int main() {
ifstream miniProject;
int n = 0;
miniProject.open("C:\\Users\\Simeon Ramjit\\Desktop\\audioframes.txt");
if (!miniProject) {
cout << "File not found" << endl;
}
else {
cout<<"File Located ! :D \nCounting Lines in file..." << endl;
while (miniProject) {
string lines;
getline(miniProject, lines);
n++;
}
cout << "Number of lines in file are: " << n << endl;
miniProject.close();
}
int *frNum = new int[n];
int *bitNum = new int[n];
int *ampVal = new int[n];
for (int i = 0; i < n;i++){
frNum[i] = 0;
bitNum[i] = 0;
ampVal[i] = 0;
}
miniProject.open("C:\\Users\\Simeon Ramjit\\Desktop\\audioframes.txt");
if (!miniProject) {
cout << "File not found" << endl;
}
else {
int i = 0;
string frameNumber, bitNumber, amplitudeValue;
while (miniProject) {
(miniProject >> frameNumber >> bitNumber >> amplitudeValue);
stringstream(frameNumber) >> frNum[i];
stringstream(bitNumber) >> bitNum[i];
stringstream(amplitudeValue) >> ampVal[i];
i++;
}
}
miniProject.close();
int frameGroupStart = 0;
int frameGroupEnd = 1024;
int maxAmpVal = 0;
while (frameGroupEnd != 25600) {
for (int i = frameGroupStart; i < frameGroupEnd; i++) {
if (ampVal[i] >maxAmpVal) {
maxAmpVal = ampVal[i];
cout << maxAmpVal << endl;
}
}
frameGroupStart = frameGroupStart + 1024;
frameGroupEnd = frameGroupEnd + 1024;
}
getchar();
return 0;
}
Вы должны показать больше кода. – blazs
Ваш 'frameGroupStart' всегда остается 0.' frameGroupStart = frameGroupStart + 0; 'никогда не перемещает исходное местоположение ваших групп кадров. Разве это не должно быть увеличено на 1024? – cwschmidt
@cwschmidt Да, это должно быть, я сделаю изменения и посмотрю, что произойдет ... Ну теперь он дает еще два случайных числа, таких как тот, который указан в вопросе, и сбой программы –