Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Максим1488
0 / 0 / 2
Регистрация: 25.10.2012
Сообщений: 247
1

Найти строку с наибольшей и наименьшей суммой элементов

25.10.2012, 12:03. Просмотров 1004. Ответов 5
Метки нет (Все метки)

Дан двумерный массив T [N;M].Найти строку с наибольшей и наименьшей суммой элементов.Вывести на печать найденные строки и суммы их элементов.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2012, 12:03
Ответы с готовыми решениями:

Найти строку матрицы с наибольшей и наименьшей суммой элементов
Дана прямоугольная матрица. Найти строку с наибольшей и наименьшей суммой...

Найти строку матрицы с наибольшей и наименьшей суммой элементов
Дана прямоугольная матрица. Найти строку с наибольшей и наименьшей суммой...

Найти строку матрицы с наибольшей и наименьшей суммой элементов
Дан двумерный массив T . Найти строку с наибольшей и наименьшей суммой...

Дана прямоугольная матрица. Найти столбец с наибольшей и наименьшей суммой элементов
Дана прямоугольная матрица. Найти столбец с наибольшей и наименьшей суммой...

Создать матрицу, вывести ее на экран и отсортировать по возрастанию строку с наименьшей суммой элементов (Pascal -> C)
Нужно перевести этот код: uses crt; const m=3; n=4; type mtr=array ...

5
UriahHeep
222 / 217 / 77
Регистрация: 24.09.2012
Сообщений: 511
Записей в блоге: 2
25.10.2012, 15:08 2
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
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
 
int get_rand(int);
 
int main(void) {
 
    int i, j, m, n;
    int sum;
    int sum_min = INT_MAX;
    int sum_max = 0;
    int line_max, line_min;
 
    printf("\n");
    printf("Введите размерность массива T:\n");
    printf(" количество строк m: ");
    scanf("%d", &m);
    printf(" количество столбцов n: ");
    scanf("%d", &n);
 
    int t[m][n];     /* Определение матрицы размерностью [m, n]
              * m -- строки
              * n -- столбцы
              */
    
    /* Заполнение матрицы случайными числами */
    for (i = 0; i < m; ++i) {
        for (j = 0; j < n; ++j) {
            t[i][j] = get_rand((i+1) * (j+1));
        }
    }
 
    for (i = 0; i < m; ++i) {
        sum = 0;
        for (j = 0; j < n; ++j) {
            sum += t[i][j];
        }
 
        /* Нахождение максимальной суммы */
        if (sum_max < sum) {
            sum_max = sum;
            line_max = i;
        }
 
        /* Нахождение минимальной суммы */
        if (sum_min > sum) {
            sum_min = sum;
            line_min = i;
        }
    }
 
    /* Вывод матрицы и найденых значений */
    printf("\n");
    for (i = 0; i < m; ++i) {
        for (j = 0; j < n; ++j) {
            printf("%-5d", t[i][j]);
        }
        printf("\n");
    }
    printf("\n");
    printf("min value: %d in line %d\nmax value: %d in line %d\n", sum_min, ++line_min, sum_max, ++line_max);
 
 
    return EXIT_SUCCESS;
}
/* Генератор чисел от 0 до 1023 */
int get_rand(int n) {
    srand(n);
    return 0 + rand() % 1023;
}
1
fanatdebian
Z3JheSBoYXQ=
339 / 234 / 83
Регистрация: 08.07.2012
Сообщений: 577
25.10.2012, 16:18 3
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
#include <stdio.h>
 
#define stb 5
#define str 256
 
int main(){
 
    int m[stb][str], i,j=0, lstr[stb],min=0, max=0, imin=0,imax=0;
    for(i=0;i<stb; i++){
        printf("str %d: ",i);
        while((m[i][j++]=getchar())!='\n');
        lstr[i]=j-1;
        if(i==0) min=lstr[0];
        if(lstr[i]>max){
             max=lstr[i];
             imax=i;
         }
        if(lstr[i]<min){
             min=lstr[i];
             imin=i;
         }
        j=0;
    }
    printf("min (length = %d: ", min);
    for(i=0;i<min;i++)
        printf("%c", m[imin][i]);
    printf("\n");
    printf("max (length = %d) : ",max);
    for(i=0;i<max;i++)
        printf("%c",m[imax][i]);
    printf("\n");
    
    return 0;
}
1
Максим1488
0 / 0 / 2
Регистрация: 25.10.2012
Сообщений: 247
25.10.2012, 19:15  [ТС] 4
Цитата Сообщение от fanatdebian Посмотреть сообщение
while((m[i][j++]=getchar())!='\n');
Поясни,пжл.
0
fanatdebian
Z3JheSBoYXQ=
339 / 234 / 83
Регистрация: 08.07.2012
Сообщений: 577
25.10.2012, 19:31 5
заполняем массив значениями из стандартного ввода.Критерием для перехода на чтение следующей строки служит поступления в "поток" символа окончания строки.
1
Максим1488
0 / 0 / 2
Регистрация: 25.10.2012
Сообщений: 247
26.10.2012, 23:41  [ТС] 6
Вот моя программа,можете ли посмотреть,что конкретно не так,просто у меня программа выдает вообще непонятно что.Заранее благодарю.
#include<stdio.h>
#include<conio.h>
#define N 10
#define M 10
main()
{int i,j,n,m,Smax,Smin,imax,imin;/*i-строка,j-столбец,S-очередная сумма,Smax-макс.сумма и Smin-соответсвенно минимальная сумма,imax-номер столбца с максимальным значением,imin наоборот,n-для строки,m-для стобца*/
int T[N][M],S=0;
scanf("%d %d", &n &m);
for(i=0;i<n;i++)
{for (j=0;j<m;j++)
scanf("%d",&T[N][M]);}
for(i=0;i<n;i++);
{for(j=0;j<m;j++);
S=S+T[i][j];
if(S>Smax)
{Smax=S;
imax=i;}
else
if(S<Smin)
{Smin=S;
imin=i;}
}
for(i=0;i<n;i++);
printf("%d,\n%d,\n%d,\n%d", T[imax],T[imin],Smax,Smin);
getch():
return 0;
}

Добавлено через 11 минут
Вот моя программа,можете ли посмотреть,что конкретно не так,просто у меня программа выдает вообще непонятно что.Заранее благодарю.
#include<stdio.h>
#include<conio.h>
#define N 10
#define M 10
main()
{int i,j,n,m,Smax,Smin,imax,imin;/*i-строка,j-столбец,S-очередная сумма,Smax-макс.сумма и Smin-соответсвенно минимальная сумма,imax-номер столбца с максимальным значением,imin наоборот,n-для строки,m-для стобца*/
int T[N][M];
int S=0;
scanf("%d,%d", &n,&m);
for(i=0;i<n;i++)
{for (j=0;j<m;j++)
scanf("%d",&T[N][M]);}
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
S=S+T[i][j];
if(S>Smax)
{Smax=S;
imax=i;}
else
if(S<Smin)
{Smin=S;
imin=i;}
}
for(i=0;i<n;i++)
printf("%d,\n%d,\n%d,\n%d", T[imax],T[imin],Smax,Smin);
getch();
return 0;
}

Добавлено через 21 секунду
Я подправил,накосячил малясь

Добавлено через 9 минут
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
#include<stdio.h>
#include<conio.h>
#define N 10
#define M 10
main()
{int i,j,n,m,Smax,Smin,imax,imin;
int T[N][M];
int S=0;
printf("vvedite kolichestvo strok i stolbcov",n,m);
scanf("%d,%d", &n,&m);
for(i=0;i<n;i++)
  {for (j=0;j<m;j++)
  scanf("%d",&T[N][M]);}
for(i=0;i<n;i++)
  {for(j=0;j<m;j++)
    S=S+T[i][j];
    if(S>Smax)
      {Smax=S;
        imax=i;}
    else
    if(S<Smin)
      {Smin=S;
        imin=i;}
}
for(i=0;i<n;i++)
printf("%d,\n%d,\n%d,\n%d", T[imax],T[imin],Smax,Smin);
getch();
return 0;
}
0
26.10.2012, 23:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2012, 23:41

Найти 2 элемента, которые в наименьшей и в наибольшей степени отличаются от среднего арифметического значения элементов
Есть задание:&quot;В матрице найти 2 элемента, которые в наименьшей и в наибольшей...

Найти наименьшее из значений элементов сотлбца, который обладает наибольшей суммой модулей элементов
Дана квадратная матрица порядка n. Найти наименьшее из значений элементов...

Найти и продублировать столбец матрицы с наибольшей суммой элементов
Задан двумерный массив А из N строк и M столбцов. Найти и продублировать...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru