тема Функции
1.Поменять местами первый максимальный элемент массива А (60) и последний минимальный элемент массива В (85). Поиск максимального и минимального элементов проводить в одной подпрограмме.
2.Задан массив, состоящий из n неотрицательных элементов. Найти в нем индекс элемента, для которого сумма элементов, стоящих до него, наименее отличается от суммы элементов, стоящих после него.
тема строки
1.Дана строка символов до точки. Оставить в ней только слова, начинающиеся на буквы «A», «D», «K», «P».
2.Дана символьная строка. Выделить в ней цветом все прописные буквы.
Другие языки программирования и технологии
программирование в Си
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#define SIZE_A 60
#define SIZE_B 85
enum extremum { MIN_LAST, MAX_FIRST };
typedef enum extremum EXTREMUM;
size_t min_max_index(int *, size_t, EXTREMUM);
void swap_elements(int *, size_t, int *, size_t);
void show_array(int *, size_t);
void simple_random_array(int *, size_t);
int main() {
int a[SIZE_A], b[SIZE_B];
size_t min_last_index, max_first_index;
srand((unsigned)time(NULL));
simple_random_array(a, SIZE_A);
simple_random_array(b, SIZE_B);
setlocale(LC_CTYPE, "Russian_Russia.1251");
printf("Исходный массив A(%u):\n\n", SIZE_A);
show_array(a, SIZE_A);
printf("Исходный массив B(%u):\n\n", SIZE_B);
show_array(b, SIZE_B);
max_first_index = min_max_index(a, SIZE_A, MAX_FIRST);
min_last_index = min_max_index(b, SIZE_B, MIN_LAST);
swap_elements(a, max_first_index, b, min_last_index);
printf("Изменённый массив A(%u):\n\n", SIZE_A);
show_array(a, SIZE_A);
printf("Изменённый массив B(%u):\n\n", SIZE_B);
show_array(b, SIZE_B);
_getch();
return 0;
}
size_t min_max_index(int * _array, size_t _size, EXTREMUM _min_max) {
size_t n, index = 0;
int x = _array[0];
for (n = 1; n < _size; n++) {
if (_min_max && x < _array[n]) {
x = _array[n];
index = n;
} else if (!_min_max && x >= _array[n]) {
x = _array[n];
index = n;
}
}
return index;
}
void swap_elements(int * _in_array, size_t _in_index, int * _from_array, size_t _from_index) {
size_t temp = _in_array[_in_index];
_in_array[_in_index] = _from_array[_from_index];
_from_array[_from_index] = temp;
}
void show_array(int * _array, size_t _size) {
size_t n;
for (n = 0; n < _size; n++) printf("%6i\n", _array[n]);
printf("\n");
}
void simple_random_array(int * _array, size_t _size) {
size_t n;
for (n = 0; n < _size; n++) _array[n] = rand();
}
#include <time.h>
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#define SIZE_A 60
#define SIZE_B 85
enum extremum { MIN_LAST, MAX_FIRST };
typedef enum extremum EXTREMUM;
size_t min_max_index(int *, size_t, EXTREMUM);
void swap_elements(int *, size_t, int *, size_t);
void show_array(int *, size_t);
void simple_random_array(int *, size_t);
int main() {
int a[SIZE_A], b[SIZE_B];
size_t min_last_index, max_first_index;
srand((unsigned)time(NULL));
simple_random_array(a, SIZE_A);
simple_random_array(b, SIZE_B);
setlocale(LC_CTYPE, "Russian_Russia.1251");
printf("Исходный массив A(%u):\n\n", SIZE_A);
show_array(a, SIZE_A);
printf("Исходный массив B(%u):\n\n", SIZE_B);
show_array(b, SIZE_B);
max_first_index = min_max_index(a, SIZE_A, MAX_FIRST);
min_last_index = min_max_index(b, SIZE_B, MIN_LAST);
swap_elements(a, max_first_index, b, min_last_index);
printf("Изменённый массив A(%u):\n\n", SIZE_A);
show_array(a, SIZE_A);
printf("Изменённый массив B(%u):\n\n", SIZE_B);
show_array(b, SIZE_B);
_getch();
return 0;
}
size_t min_max_index(int * _array, size_t _size, EXTREMUM _min_max) {
size_t n, index = 0;
int x = _array[0];
for (n = 1; n < _size; n++) {
if (_min_max && x < _array[n]) {
x = _array[n];
index = n;
} else if (!_min_max && x >= _array[n]) {
x = _array[n];
index = n;
}
}
return index;
}
void swap_elements(int * _in_array, size_t _in_index, int * _from_array, size_t _from_index) {
size_t temp = _in_array[_in_index];
_in_array[_in_index] = _from_array[_from_index];
_from_array[_from_index] = temp;
}
void show_array(int * _array, size_t _size) {
size_t n;
for (n = 0; n < _size; n++) printf("%6i\n", _array[n]);
printf("\n");
}
void simple_random_array(int * _array, size_t _size) {
size_t n;
for (n = 0; n < _size; n++) _array[n] = rand();
}
И с чем конкретно возникли трудности?
Похожие вопросы
- Посоветуйте книги по программированию на Си.
- программирование на си++
- Помогите с программированием на Си
- программирование в си
- Программирование на Си++
- Есть вопрос по программированию в СИ
- Программирование на Си. нужно написать прогу
- Помогите с программированием на си
- Привет, помогите с программированием на СИ, передача массива в функцию..
- Программирование на Си