Условие задачи:
Дан массив размера N и целые числа K и L (0 ≤ K ≤ L ≤ N-1).
Найти сумму элементов массива с номерами от K до L включительно.
Выполнить сортировку массива по возрастанию методом пузырьковой сортировки.
_______
Необходимо исользуя функции написать код
Пока получилось только так:
#include "stdafx.h"
#include <iostream>
#include <windows.h>
using namespace std;
int sum (int*s, int *x[50], int A=1, int B=5, int k, int l) ;
int sort();
void main(){
setlocale(LC_ALL,"rus");
srand(GetTickCount());
const int N=50, A = 1, B = 5; //masiv
int k,l,x[N],s;
cout<<"Массив: "<<x[n]<<"\n";>;
}//main
int sum (int*s, int *x[N], int A=1, int B=5, int k, int l) {
int k,l;
do {
cout<<"k? ";
cin>>k;
}while (k < 0 || k > N-1);//условие для к
do {
cout<<"l? ";
cin>>l;
}while (l < k || l > N);// условие для л
int s=0;// обнуляем суму
for(int i=0;i<n;i++)>=A + rand() % (B - A + 1);//for
for(int i=k;i<=l;i++)
s+=x;//for i
return *s;
}//sum
int sort(int x[50]) {
int hold;
for (int pass=1; pass<n;pass++)> > x[i+1]) { // сравнение
hold = x; // перестановка
x = x[i+1];
x[i+1] = hold;
}
return x;
}//sort
Разумеется оно не компилируется из-за массы ошибок.
Вопросы в следующем: как сделать так что бы переменную объявлённую в мэйн использовать в других функциях и не прописовать заново?
Помогите написать драйвер
Другие языки программирования и технологии
Подскажите как решить используя динамические переменные ( С++)
Паслюшай, какой-такой драйвер? :)
#include <iostream>
#include <ctime>
using namespace std;
void start();
int * input_array(int *, int &);
void show(int *, int);
void bubble(int *, int);
bool summa(int *, int);
void remove_memory(int *);
void error();
void ru();
int main() {
start();
return 0;
}
void start() {
int * a = NULL, N = 0;
ru();
a = input_array(a, N);
while (!summa(a, N)) error();
bubble(a, N);
remove_memory(a);
cin.get(); cin.get();
}
int * input_array(int * p, int & size) {
cout << " Введите размер массива: "; cin >> size;
srand(unsigned(time(NULL)));
p = new int [size];
for (int n = 0; n < size; n++) p[n] = rand() % 9 + 1;
show(p, size);
return p;
}
void show(int * p, int size) { for (int n = 0; n < size; n++) cout << p[n] << ' '; }
bool summa(int * p, int size) {
bool flag = true;
int K;
cout << endl << " Введите первое целое число: "; cin >> K;
int L;
cout << " Введите второе целое число: "; cin >> L;
if (K < 0 || K > L || L >= size) flag = false;
else {
int summa = 0;
for (int n = K; n <= L; n++) summa += p[n];
cout << " Сумма равна: " << summa << endl;
}
return flag;
}
void bubble(int * p, int size) {
int temp;
for (int n = 1; n < size; n++) {
for (int m = 0; m < size - n; m++) {
if (p[m] > p[m + 1]) {
temp = p[m];
p[m] = p[m + 1];
p[m + 1] = temp;
}
}
} show(p, size);
}
void error() { cout << "\a Ошибка данных! Повторите ввод. "; }
void remove_memory(int * p) { delete[] p; p = NULL; }
void ru() { locale::global(locale("")); }
#include <iostream>
#include <ctime>
using namespace std;
void start();
int * input_array(int *, int &);
void show(int *, int);
void bubble(int *, int);
bool summa(int *, int);
void remove_memory(int *);
void error();
void ru();
int main() {
start();
return 0;
}
void start() {
int * a = NULL, N = 0;
ru();
a = input_array(a, N);
while (!summa(a, N)) error();
bubble(a, N);
remove_memory(a);
cin.get(); cin.get();
}
int * input_array(int * p, int & size) {
cout << " Введите размер массива: "; cin >> size;
srand(unsigned(time(NULL)));
p = new int [size];
for (int n = 0; n < size; n++) p[n] = rand() % 9 + 1;
show(p, size);
return p;
}
void show(int * p, int size) { for (int n = 0; n < size; n++) cout << p[n] << ' '; }
bool summa(int * p, int size) {
bool flag = true;
int K;
cout << endl << " Введите первое целое число: "; cin >> K;
int L;
cout << " Введите второе целое число: "; cin >> L;
if (K < 0 || K > L || L >= size) flag = false;
else {
int summa = 0;
for (int n = K; n <= L; n++) summa += p[n];
cout << " Сумма равна: " << summa << endl;
}
return flag;
}
void bubble(int * p, int size) {
int temp;
for (int n = 1; n < size; n++) {
for (int m = 0; m < size - n; m++) {
if (p[m] > p[m + 1]) {
temp = p[m];
p[m] = p[m + 1];
p[m + 1] = temp;
}
}
} show(p, size);
}
void error() { cout << "\a Ошибка данных! Повторите ввод. "; }
void remove_memory(int * p) { delete[] p; p = NULL; }
void ru() { locale::global(locale("")); }
Похожие вопросы
- И опять про динамические переменные.
- Возможно задаю глупый вопрос, так что извиняйте, почему бы в языках программирования не сделать динамические переменные?
- [C++] Почему не рекомендуют использовать глобальные переменные?
- C++ :Разработать пользовательскую библиотеку для работы с односвязным списком (использовать динамическую память).
- Как использовать значение переменной как ИМЯ переменой или метода,,,? С#
- Как описать и использовать динамический массив в C++
- Решить задачу динамического программирования
- Почему нельзя использовать глобальные переменные?
- Подскажите можно ли использовать символы {} при написании на html в блокноте, без использования css.
- Проблема с антивирусом,подскажите как решить её?