Написать программу на языке С обработки двумерного массива целых чисел размерностью
16х16. Главная функция должна вместить оглашение массива и вызовы функции юзера.
1.Функция введения значений массива с клавиатуры
2. Функция выведения введенных значений с клавиатуры на монитор
3.функция, которая находит максимальный по модулю элемент в каждом столбике матрицы и выводит результат вычислений на экран.
4.Функция которая находит средн арифметическое положительных элементов каждого рядка матрицы и выводит результат вычислений на экран.
5.Функция которая упорядочивает рядки матрицы так, чтоб элементы 3его столбика не уменьшались. Вывести результат вычислений на экран.
кто может помогите сделать хоть часть программы....
Другие языки программирования и технологии
помогите написать программу на С в Борланде?
// 2012-01-11 Microsoft Visual C++ 2010
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h> // Случайный ввод
#include <math.h>
int ** input(int, int);
void output(int **, int, int);
void absaluteLocaleMaximumForColumn(int **, int, int);
void averageArithmeticPositiveElementsForRow(int **, int, int);
void sortRowAccordingToIncreaseOfTheSetColumn(int **, int, int);
int main()
{
int n = 16;
int m = 16;
int ** ptr;
ptr = input(n, m);
output(ptr, n, m);
absaluteLocaleMaximumForColumn(ptr, n, m);
averageArithmeticPositiveElementsForRow(ptr, n, m);
sortRowAccordingToIncreaseOfTheSetColumn(ptr, n, m);
for (int k = 0; k < n; k++)
free(ptr[k]);
free(ptr);
getch();
}
int ** input(int N, int M)
{
int ** a;
srand(time(0)); // Случайный ввод
//printf("\n Input: \n"); // Ручной ввод данных
a = (int **) malloc(N * sizeof(int *));
for (int n = 0; n < N; n++)
{
//printf("\n"); // Ручной ввод данных
a[n] = (int *) malloc(M * sizeof(int));
for (int m = 0; m < M; m++)
a[n][m] = rand() % 199 - 99; // Случайный ввод
//scanf("%d", &a[n][m]); // Ручной ввод данных
}
printf("\n");
return a;
}
void output(int ** load, int N, int M)
{
printf(" Output: \n\n");
for (int n = 0; n < N; n++, printf("\n"))
for (int m = 0; m < M; m++)
printf(" %d ", load[n][m]);
}
void absaluteLocaleMaximumForColumn(int ** load, int N, int M)
{
int max, next = 0;
printf("\n Maxima: \n\n");
for (int m = 0; m < M; m++)
{
max = abs(load[0][next]);
for (int n = 0; n < N; n++)
if (max < abs(load[n][m]))
max = abs(load[n][m]);
printf(" %d ", max);
next++;
}
}
void averageArithmeticPositiveElementsForRow(int ** load, int N, int M)
{
int summa, count;
printf("\n\n Averages: \n\n");
for (int n = 0; n < N; n++)
{
summa = 0; count = 0;
for (int m = 0; m < M; m++)
{
if (load[n][m] >= 0)
{
summa += load[n][m];
count++;
}
}
if (summa > 0) printf(" %f ", (float) summa / count);
else printf(" No! ");
}
}
void sortRowAccordingToIncreaseOfTheSetColumn(int ** load, int N, int M)
{
int index = 2, temp, m;
printf("\n Sorting: \n\n");
for (int n = 1; n < N; n++)
{
m = n;
while (m > 0 && load[m - 1][index] > load[m][index])
{
temp= load[m][index];
load[m][index]= load[m - 1][index];
load[m - 1][index]= temp;
m--;
}
}
for (int n = 0; n < N; n++, printf("\n"))
for (int m = 0; m < M; m++)
printf(" %d ", load[n][m]);
}
// Должен работать во всех вариантах.
// Случайный ввод для тестирования. После чего его можно убрать и удалить комментарии и раскомментировать ручной ввод с клавиатуры.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h> // Случайный ввод
#include <math.h>
int ** input(int, int);
void output(int **, int, int);
void absaluteLocaleMaximumForColumn(int **, int, int);
void averageArithmeticPositiveElementsForRow(int **, int, int);
void sortRowAccordingToIncreaseOfTheSetColumn(int **, int, int);
int main()
{
int n = 16;
int m = 16;
int ** ptr;
ptr = input(n, m);
output(ptr, n, m);
absaluteLocaleMaximumForColumn(ptr, n, m);
averageArithmeticPositiveElementsForRow(ptr, n, m);
sortRowAccordingToIncreaseOfTheSetColumn(ptr, n, m);
for (int k = 0; k < n; k++)
free(ptr[k]);
free(ptr);
getch();
}
int ** input(int N, int M)
{
int ** a;
srand(time(0)); // Случайный ввод
//printf("\n Input: \n"); // Ручной ввод данных
a = (int **) malloc(N * sizeof(int *));
for (int n = 0; n < N; n++)
{
//printf("\n"); // Ручной ввод данных
a[n] = (int *) malloc(M * sizeof(int));
for (int m = 0; m < M; m++)
a[n][m] = rand() % 199 - 99; // Случайный ввод
//scanf("%d", &a[n][m]); // Ручной ввод данных
}
printf("\n");
return a;
}
void output(int ** load, int N, int M)
{
printf(" Output: \n\n");
for (int n = 0; n < N; n++, printf("\n"))
for (int m = 0; m < M; m++)
printf(" %d ", load[n][m]);
}
void absaluteLocaleMaximumForColumn(int ** load, int N, int M)
{
int max, next = 0;
printf("\n Maxima: \n\n");
for (int m = 0; m < M; m++)
{
max = abs(load[0][next]);
for (int n = 0; n < N; n++)
if (max < abs(load[n][m]))
max = abs(load[n][m]);
printf(" %d ", max);
next++;
}
}
void averageArithmeticPositiveElementsForRow(int ** load, int N, int M)
{
int summa, count;
printf("\n\n Averages: \n\n");
for (int n = 0; n < N; n++)
{
summa = 0; count = 0;
for (int m = 0; m < M; m++)
{
if (load[n][m] >= 0)
{
summa += load[n][m];
count++;
}
}
if (summa > 0) printf(" %f ", (float) summa / count);
else printf(" No! ");
}
}
void sortRowAccordingToIncreaseOfTheSetColumn(int ** load, int N, int M)
{
int index = 2, temp, m;
printf("\n Sorting: \n\n");
for (int n = 1; n < N; n++)
{
m = n;
while (m > 0 && load[m - 1][index] > load[m][index])
{
temp= load[m][index];
load[m][index]= load[m - 1][index];
load[m - 1][index]= temp;
m--;
}
}
for (int n = 0; n < N; n++, printf("\n"))
for (int m = 0; m < M; m++)
printf(" %d ", load[n][m]);
}
// Должен работать во всех вариантах.
// Случайный ввод для тестирования. После чего его можно убрать и удалить комментарии и раскомментировать ручной ввод с клавиатуры.
Вячеслав Чурбанов
В main нужно поставить return 0;
І тобі не соромно? Сама роби! Не ганьби неньку!
Ты свой файл накатай.
Учиться за тебя не планируется.
После твоего кода можно будет подправлять.
Учиться за тебя не планируется.
После твоего кода можно будет подправлять.
гляди почту
Похожие вопросы
- Помогите написать программу со switch в СИ
- Помогите написать программу на С. Тема Составление программ с использованием массивов
- Помогите написать программу выключения компьютера на С++
- Помогите написать программу на Visual Basic (найти ошибку)
- Помогите написать программу на ассемблере, завтра экзамен а я в нём совсем не шарю.
- Помогите написать программу на С++
- помогите написать программу на Delphi
- Люди помогите написать программы для Pascal очень срочно и очень нужно
- Помогите написать программу на C/C++
- Помогите написать программу на языке програмирования КУМИР