1)Дан массив целых чисел, размер массива вводиться с клавиатуры. Посчитать количество нечетных элементов предшествующих минимальному элементу или первому вхождению минимального элемента, если их несколько. 2)Дан файл целых чисел. Первый элемент файла – количество этих чисел, следующие элементы - последовательность чисел (напр. 4 1 67 2 23). Заменить в данной последовательности все заканчивающиеся на четную цифру элементы на минимальный элемент последовательности и записать результат в новый файл. 3)Дан файл целых чисел. Считать данные из файла в массив, перед каждым нечетным элементом массива вставить случайное число из того же диапазона, что и элементы массива, затем в полученном массиве удалить все элементы кратные 7. Вывести промежуточное и результативное состояния массива на экран За помощь отплачу 150-250р
shabby999, Не забудь где файлы указать свое местоположение файлов для ввода. В третьей задаче формат файла как и во второй - элементы написаны через пробел. Вектор тоже динамический массив, так просто немного проще #include <iostream> using namespace std; int* fillarr(int); int solve(int*); int main() { int N; cout << "Input size of array: "; cin >> N; cout << solve(fillarr(N)); system("pause"); } int * fillarr(int N) { int* arr = new int[N]; for (int i = 0; i < N; i++) { cout << "Input " << i + 1 << " element" << endl; cin >> arr[i]; } for (int i = 0; i < N; i++) { cout << arr[i] << " "; } return arr; } int solve(int* arr) { int min = arr[0]; int index = 0; for (int i = 1; i < sizeof(arr); i++) { if (arr[i] < min) { min = arr[i]; index = i; } else if (arr[i] == min) break; } cout << endl << "Min " << min << endl; int k = 0; for (int i = 0; i < index; i++) { if (arr[i] % 2 != 0) k++; } return k; } C #include <iostream> using namespace std; int* fillarr(int); int solve(int*); int main() { int N; cout << "Input size of array: "; cin >> N; cout << solve(fillarr(N)); system("pause"); } int * fillarr(int N) { int* arr = new int[N]; for (int i = 0; i < N; i++) { cout << "Input " << i + 1 << " element" << endl; cin >> arr[i]; } for (int i = 0; i < N; i++) { cout << arr[i] << " "; } return arr; } int solve(int* arr) { int min = arr[0]; int index = 0; for (int i = 1; i < sizeof(arr); i++) { if (arr[i] < min) { min = arr[i]; index = i; } else if (arr[i] == min) break; } cout << endl << "Min " << min << endl; int k = 0; for (int i = 0; i < index; i++) { if (arr[i] % 2 != 0) k++; } return k; } Вторая #include <iostream> #include <fstream> using namespace std; int* solve(int* arr); int main() { ifstream filein("C:\\Users\\bunde\\Desktop\\File.txt"); int N; filein >> N; int* arr = new int[N]; for (int i = 0; i < N; i++) { filein >> arr[i]; } filein.close(); ofstream fileof("C:\\Users\\bunde\\Desktop\\Result.txt"); arr = solve(arr); for (int i = 0; i < N; i++) { fileof << arr[i] << " "; } fileof.close(); system("pause"); } int* solve(int* arr) { int min = arr[0]; for (int i = 0; i < sizeof(arr); i++) { if (arr[i] < min) min = arr[i]; } for (int i = 0; i < sizeof(arr); i++) { if ((arr[i] % 10) % 2 == 0) arr[i] = min; } return arr; } C #include <iostream> #include <fstream> using namespace std; int* solve(int* arr); int main() { ifstream filein("C:\\Users\\bunde\\Desktop\\File.txt"); int N; filein >> N; int* arr = new int[N]; for (int i = 0; i < N; i++) { filein >> arr[i]; } filein.close(); ofstream fileof("C:\\Users\\bunde\\Desktop\\Result.txt"); arr = solve(arr); for (int i = 0; i < N; i++) { fileof << arr[i] << " "; } fileof.close(); system("pause"); } int* solve(int* arr) { int min = arr[0]; for (int i = 0; i < sizeof(arr); i++) { if (arr[i] < min) min = arr[i]; } for (int i = 0; i < sizeof(arr); i++) { if ((arr[i] % 10) % 2 == 0) arr[i] = min; } return arr; } #include <iostream> #include <fstream> #include <vector> #include <algorithm> #include <ctime> using namespace std; void solve(vector<int>); int main() { srand(time(NULL)); ifstream filein("C:\\Users\\bunde\\Desktop\\File.txt"); int N; vector<int> arr; while (!filein.eof()) { filein >> N; arr.push_back(N); } filein.close(); solve(arr); } void solve(vector<int> arr) { int min = *min_element(arr.begin(), arr.end()); int max = *max_element(arr.begin(), arr.end()); cout << "Min " << min << " Max " << max << endl; cout << "Default" << endl; for (int i = 0; i < arr.size(); i++) { cout << arr[i] << " "; } for (int index = 0; index < arr.size(); index++) { if (arr[index] % 2 != 0) { arr.insert(arr.begin() + index, rand() % (max - min + 1) + min); index++; } } cout << endl << "Stady 1" << endl; for (int i = 0; i < arr.size(); i++) { cout << arr[i] << " "; } for (int i = 0; i < arr.size(); i++) { if (arr[i] % 7 == 0) arr.erase(arr.begin() + i); } cout << endl << "Final" << endl; for (int i = 0; i < arr.size(); i++) { cout << arr[i] << " "; } } C #include <iostream> #include <fstream> #include <vector> #include <algorithm> #include <ctime> using namespace std; void solve(vector<int>); int main() { srand(time(NULL)); ifstream filein("C:\\Users\\bunde\\Desktop\\File.txt"); int N; vector<int> arr; while (!filein.eof()) { filein >> N; arr.push_back(N); } filein.close(); solve(arr); } void solve(vector<int> arr) { int min = *min_element(arr.begin(), arr.end()); int max = *max_element(arr.begin(), arr.end()); cout << "Min " << min << " Max " << max << endl; cout << "Default" << endl; for (int i = 0; i < arr.size(); i++) { cout << arr[i] << " "; } for (int index = 0; index < arr.size(); index++) { if (arr[index] % 2 != 0) { arr.insert(arr.begin() + index, rand() % (max - min + 1) + min); index++; } } cout << endl << "Stady 1" << endl; for (int i = 0; i < arr.size(); i++) { cout << arr[i] << " "; } for (int i = 0; i < arr.size(); i++) { if (arr[i] % 7 == 0) arr.erase(arr.begin() + i); } cout << endl << "Final" << endl; for (int i = 0; i < arr.size(); i++) { cout << arr[i] << " "; } }
BundesGott, Чет в первой задаче затроил, вот это вырезать над. не могу уже отредачить сообщ, внизу вот напишу.