Форум программистов, компьютерный форум CyberForum.ru

Поменять местами два ряда матрицы с наибольшей и наименьшей сумой элементов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Может есть варианты по проще?? http://www.cyberforum.ru/cpp-beginners/thread21702.html
решил задачу....но может её можно как нить по проще сделать.. прога удаляет все повторяющиеся символы в строке, не создавая новой строки #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char s="adia baoby dod";
C++ работа с массивами и структурами. Здравствуйте.нужна помощь...у нас есть структура с именем train, в которой описывается пункт назначиения, номер поезда и время отправления.Нужно реализовать введение в массив данных, вывод должен быть по номерам поезда. Также нужно реализовать вывод на экран информации про поезд,номер которого введен с клавиатуры. Вроде все реализовал, кроме вывода на экран информации про поезд,номер которого... http://www.cyberforum.ru/cpp-beginners/thread21695.html
C++ как должен быть составлен код решения кв. уравнения на C++
как можно решить следующее уравнение: x=(a+b)*(a+b)*(a+b)-7.4*a*a*b+4*a+6 при любых значениях а и b, не хватает как говорится прямоты рук и запаса знаний :'( научите люди добрые!
Получить среднее арифметическое и среднее геомерическое элементов последовательности C++
Даны действительные числа a1, a2… Известно, что а1>0 и что среди a2, a3… есть хотя бы одно отрицательное число.Пусть a1,…, an – члены данной последовательности, предшествующие первому отрицательному члену (n заранее неизвестно).Получить среднее арифметическое и среднее геомерическое a1,…, an. Саму программу я написала...но выяснилось,что необходимо,чтобы элементы вводились до первого...
C++ блок-схема алгоритма и програмный код функции http://www.cyberforum.ru/cpp-beginners/thread21645.html
Прошу помочь с данным заданием. Напишите блок-схему алгоритма и програмный код функции с коментариями. Для функции передаваемые параметры: указатель на массив и количество элементов массива. Возвращаемые значения: число положительных и число отрицательных элементов массива, максимальный элемент массива.
C++ Заменить все элементы массива с максимальным значением на сумму цифр минимального элемента Дан целочисленный массив А. Заменить все элементы массива с максимальным значением на сумму цифр минимального элемента. подробнее

Показать сообщение отдельно
ardred
Сообщений: n/a

Поменять местами два ряда матрицы с наибольшей и наименьшей сумой элементов - C++

26.01.2009, 01:36. Просмотров 1059. Ответов 17
Метки (Все метки)

Доброго времени суток.
Начал учиться програмировать на С. Столкнулся с некоторыми проблемами при выполнении некоторых задач.
Не прошу делать за меня никакую работу, прошу просто посмотреть и помочь советом начинающему.
Задача банальна. Надо ввести с клавиатуры прямоугольную матрицу и поменять местами два ряда с наибольшей и наименьшей сумой элементов.
Пробовал сделать так:

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
#include <stdio.h>
 
#define colonku 4
#define stroku 3
 
int main(void)
{
    int n, n1;
    float max, min, sum1=0, sum2=0, sum3=0, sum4=0;
    float matr [colonku] [stroku];
 
    printf("Vvedite matricy %d na %d elementov:\n", colonku, stroku);
 
    // ввод массива
 
    for (n = 0; n < colonku; n++)
        {
            for (n1=0; n1 < stroku; n1++)
                scanf("%f", &matr [n] [n1]);
            printf("\n");
        };
 
    //подсчет сумы елементов в рядах
 
    for (n = 0; n < colonku; n++)
        {
            for (n1=0; n1 < stroku; n1++)
                 {
                     if (n=0)
                         sum1=sum1+matr [n] [n1];
                     if (n=1)
                         sum2=sum2+matr [n] [n1];
                     if (n=2)
                         sum3=sum3+matr [n] [n1];
                     if (n=3)
                         sum4=sum4+matr [n] [n1];
                 }
        };
 
    //определение самой маленькой и самой большой сумы.
    max=sum1;
    if (sum2 > max)
        max=sum2;
    if (sum3 > max)
        max=sum3;
    if (sum4 > max)
        max=sum4;
 
    max=sum1 ? min=sum2 : min=sum1;
    if (sum1 < min)
        min=sum1;
    if (sum2 < min)
        min=sum2;
    if (sum3 < min)
        min=sum3;
    if (sum4 < min)
        min=sum4;
 
// а тут решил проверить, все ли правильно сделал. И вывести для этого результаты.
 
    for (n = 0; n < colonku; n++)
        {
            for (n1=0; n1 < stroku; n1++)
                 printf("%f   ,",matr [n] [n1]);
            printf("\n");
        }
   printf("\n %4.2f, %4.2f, %4.2f, %4.2f",sum1,sum2,sum3,sum4);
   printf("\n %4.2f, %4.2f",max,min);
 
   getchar();
   getchar();
 
   return 0;
}
Откомпилировал. И столкнулся с проблемой: программа не считает суму первого ряда. постоянно ноль отображается.
Помогите пожалуйста. В чем заключаеться ошибка? как ее исправить, и как избежать в дальнейшем?
Извините, если вещь елементарная. Занялся недавно, опыта мало. Может что-то в книгах пропустил.
Есть еще одна проблема:
Задача: Для введенного предложения надо посчитать процент использования гласных букв.
Начал с организации счетчика "букаФ"=) Решил проверить, правильно ли считает. Но тут снова попа:
букву "а" некоректно считает. Если вообще не вводишь отображает 16. одна, две буквы в предлодении - вообще мусор типа 12,13, 22 и т.д. Закономерности никакой нету. только стабильное 16 при отсутствии буквы.

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 max 150
 
int main(void)
{
    int n, c1=0, c2=0, c3=0, c4=0, c5=0, c6=0;
    char sent[max];
 
    printf("Vvedite predlojenie:\n");
    gets(sent);
 
    for(n=0;n!=max;n++)
        {
         if (sent[n]=='a')
             c1=c1+1;
         if (sent[n]=='e')
             c2=c2+1;
         if (sent[n]=='y')
             c3=c3+1;
         if (sent[n]=='u')
                                  c4=c4+1;
         if (sent[n]=='i')
             c5=c5+1;
         if (sent[n]=='o')
             c6=c6+1;
        };
 
    printf("%d,%d,%d,%d,%d,%d",c1,c2,c3,c4,c5,c6);
 
    getchar();
    getchar();
    return 0;
}
Что самое странное, остальные считает нормально. Думал что первое определение некоректное, переставлял, результат тот же.
Среда разработки - Code Blocks.
Буду очень благодарен за помощь.
Спасибо наперед.
з.ы. не забывайте, что все мы были маленькими и неопытными) + извиняюсь за "очепятки". Живу в Украине, с русской граматикой проблемы могут быть.

упс. извините пожалуйста, сеть глюкануло, нечайно дубль создал. Модераторы, удалите пожалуйста эту темку.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru