Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
3 / 3 / 0
Регистрация: 30.11.2010
Сообщений: 89
1

Найти номер максимального по модулю элемента массива

03.07.2012, 07:55. Показов 4535. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Дали три задания ня языке Си:

1) В одномерном массиве, состоящем из n вещественных элементов, вычислить:
- номер максимального по модулю элемента массива;
- сумму элементов массива, расположенных после первого положительного элемента.

преобразовать массив таким образом, чтобы сначала располагались все элементы, целая часть которых лежит в интервале [a,b], а потом - все остальные.

2) Дана целочисленная квадратная матрица. Определить:
- сумму элементов в тех строках, которые не содержат отрицательных элементов;
- минимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.

3) С помощью текстового редактора создать файл, содержащий текст, длина которого не превышает 1000 символов (длина строки текста не должна превышать 70 символов).
Имя ффайла должно иметь расширение dat.
Написать программу, которая:
- выводит текст на экран дисплея;
- по нажатию произвольной клавиши поочередно выделяет каждое предложение текста
- определяет количество предложений в тексте



Помогите, пожалуйста, что-нибудь из этого решить...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.07.2012, 07:55
Ответы с готовыми решениями:

Найти номер максимального по модулю элемента массива
В одномерном массиве, состоящем из n действительных элементов, найти 1) номер максимального по...

Найти номер максимального по модулю элемента массива
Прошу переделать данные 3 проргаммы через векторы на С++ builder'e. Заранее Спасибо! 1) Найти...

Вычислить номер максимального по модулю элемента массива
в одномерном массиве, состоящем из п вещественных элементов, вычислить: номер максимального по...

Вычислить номер максимального по модулю элемента массива
Помогите разобраться с этим. Можете пошагово объяснить, что нужно. Ну или готовый код, чтобы...

4
Почетный модератор
14018 / 3624 / 87
Регистрация: 11.06.2009
Сообщений: 11,783
03.07.2012, 08:29 2
О правилах
 Комментарий модератора 
bacekk, Вы не первый день на форуме, имеете пару десятков тем. Неужели не удосужились до сих правила прочесть ? Один вопрос - одна тема. Три задачи - три вопроса. Устное предупреждения.
1
3 / 3 / 0
Регистрация: 30.11.2010
Сообщений: 89
03.07.2012, 09:15  [ТС] 3
тогда только это задание:
Дана целочисленная квадратная матрица. Определить:
- сумму элементов в тех строках, которые не содержат отрицательных элементов;
- минимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
0
96 / 748 / 279
Регистрация: 11.04.2012
Сообщений: 971
03.07.2012, 14:13 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <memory.h>
 
#define N 10
 
typedef struct Nums
{
    int i;
    int sum;
} NUMS;
 
int main()
{
    int X[N][N] = { { 3, 2, 7,-5,-3,-9, 8,-3,-5, 1 },
                    { 7, 8, 1, 4, 2, 8, 9, 1, 3, 2 },
                    { 8, 4,-2, 9, 6, 5, 1, 5, 2, 5 },
                    { 9, 3, 3,-3,-5, 7,-3, 2, 9, 4 },
                    { 4, 2, 8, 2, 8, 6, 4, 4, 1, 3 },
                    { 5, 1,-5,-1,-9,-1,-5, 6, 8, 2 },
                    { 6, 9, 4, 8, 1, 4, 6, 8, 7, 7 },
                    { 9, 8, 8, 6, 2, 3, 4, 7, 6, 8 },
                    { 3, 6,-9, 5, 7,-2, 2, 3, 2, 9 },
                    { 8, 4, 1, 4, 3, 5, 7, 9, 4, 6 } };
 
    NUMS* pNums = new NUMS[256];
    for (int k = 0, q = 0; k < N; k++)
    {
        bool neg = false;
        for (int m = 0; m < N && !neg; m++)
            neg = (X[k][m] < 0) ? 1 : 0;
 
        if (neg == false)
        {
            int nSum = 0;
            for (int d = 0; d < N; d++)
                nSum+=X[k][d];
 
            pNums[q].i = k;
            pNums[q++].sum = nSum;
        }
    }
 
    for (int t = 0; pNums[t].i > 0; t++)
    {
        printf("%d - ",pNums[t].i);
        for (int r = 0; r < N; r++)
            printf("%d ",X[pNums[t].i][r]);
        printf(" Sum = %d\n",pNums[t].sum);
    }
 
    NUMS* pDSum = new NUMS[N-1];
    memset((void*)pDSum, 0x00, sizeof(NUMS) * (N-1));
    for (int w = 1, m = 0; w < N; w++)
    {
        int nSum = 0;
        for (int v = w, h = 0; v < N; v++)
            nSum+=X[v][h++];
 
        pDSum[m].i = w;
        pDSum[m++].sum = nSum;
    }
 
    int min_i = 0;
    for (int l1 = 0; l1 < N-1; l1++)
        min_i = (pDSum[l1].sum < pDSum[min_i].sum) ? l1 : min_i;
 
    NUMS* pDSum2 = new NUMS[N-1];
    memset((void*)pDSum2, 0x00, sizeof(NUMS) * (N-1));
    for (int x = 1, y = 0; x < N; x++)
    {
        int s = x; int nSum = 0;
        for (int d1 = 0; d1 < N-x; d1++)
             nSum+=X[d1][s++];
        
        pDSum2[y].i = x;
        pDSum2[y++].sum = nSum;
    }
 
    int min_j = 0;
    for (int l2 = 0; l2 < N-1; l2++)
        min_j = (pDSum[l2].sum < pDSum[min_j].sum) ? l2 : min_j;
 
    if (pDSum[min_i].sum < pDSum2[min_j].sum)
    {
        for (int v = pDSum[min_i].i, h = 0; v < N; v++)
            printf("%d ", X[v][h++]);
        printf("\n");
    }
 
    else 
    {
        int s = pDSum2[min_j].i;
        for (int d1 = 0; d1 < N-pDSum2[min_j].i; d1++)
             printf("%d ",X[d1][s++]);
        printf("Sum = %d\n",pDSum2[min_j].sum);
    }
 
    _getch();
 
    return 0;
}
http://liveworkspace.org/code/... 0b5caf0e98
2
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,437
03.07.2012, 20:47 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

1)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
 
using namespace std;
 
int main() {
    srand(time(NULL));
    int N, maxI = 0, max = 0, i, j, sum = 0;
    setlocale(LC_ALL,"Russian");
    cout << "Введите количество элементов: ";
    cin >> N;
    int vector[N], tmp;
    for(i=0; i<N; i++) 
    vector[i] = 5 - rand()%10;//
    for(i=0; i<N; i++) 
    cout << vector[i] << " ";
    cout << endl;
    for(i=0; i<N; i++)
    if(vector[i] > 0) {
                 vector[i]>0;
                 tmp = i;
                 break;
                 }
    for(i=tmp+1; i<N; i++)
    sum += vector[i];
    cout << "Сумма элементов после первого негативного: " << sum << endl;
    for(i=0; i<N; i++) {
    vector[i] = abs(vector[i]);
    if(max < vector[i]) {
           max = vector[i];
           maxI = i;
           }
    }
    cout << "Номер максимального элемента по модулю: " << maxI+1 << endl;
    getche();
}
1
03.07.2012, 20:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.07.2012, 20:47
Помогаю со студенческими работами здесь

Вычислить номер максимального по модулю элемента массива
Помогите решить прогу на Си с заданным условием : Составить алгоритм и программу, которая в...

Вычислить номер максимального по модулю элемента массива
Помогите решить прогу на Си с заданным условием : Скласти алгоритм і програму, яка в одновимірному...

Указатели: определить номер максимального по модулю элемента массива
Обращаться к элементам массива необходимо используя указатель. 1. В одномерном массиве, состоящем...

Найти индекс максимального по модулю элемента массива
Помогите пожалуйста, в Си вообще не разбираюсь В одномерном массиве, состоящем из n вещественных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru