Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2011, 20:21   #1
Ислам
Форумчанин
 
Регистрация: 22.02.2011
Сообщений: 106
По умолчанию 2D массив

Цитата:
Если в строке есть хотя бы один отрицательный элемент, найти сумму всех элементов этой строки
как это оформить на Си?
сделать цикл по массиву, пробегать по элементам массива и докидывать в переменную!

вот кусок кода...

Цитата:
void sum_otr_str( float **mas, int str, int stb )
{
int i,j,k;
float sum=0.0,sum2=0.0;
for(i=0;i<str;i++)
{
for(j=0;j<stb;j++)
{
if(mas[i][j]<0)
{
for(k=0;k<str;k++)
{
sum=0.0;
sum+=mas[i][j];
}
printf("Сумма элементов=%.1f\n",sum);
}
}
}

}

Последний раз редактировалось Ислам; 15.05.2011 в 20:26.
Ислам вне форума Ответить с цитированием
Старый 16.05.2011, 18:10   #2
Ислам
Форумчанин
 
Регистрация: 22.02.2011
Сообщений: 106
По умолчанию

ни кто не поможет?? понятно...
Ислам вне форума Ответить с цитированием
Старый 16.05.2011, 18:29   #3
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

C++
Код:
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    const int dim = 10;
    int array[dim][dim];
    int summa;
    bool has_neg ;

    srand(time(NULL));
    
    for (int i = 0; i < dim; i++)
        for (int j = 0; j < dim; j++)
            array[i][j] = rand() % 100 - 10;

    for (int i = 0; i < dim; i++)
    {
        for (int j = 0; j < dim; j++)
            cout << array[i][j] << "\t";
        cout << endl;
    }

    for (int i = 0; i < dim; i++)
    {
        summa = 0;
        has_neg = false;
        for (int j = 0; j < dim; j++)
        {
            summa += array[i][j];
            if (array[i][j] < 0)
                has_neg = true;
        }
        if (has_neg)
            cout << "В строке " << i <<" есть отрицательный элемент. Сумма элементов строки равна " << summa << endl;
        else
            cout << "В строке " << i <<" нет отрицательных элементов. " << endl;
    }
    
    return 0;
}
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062

Последний раз редактировалось Mandrivnyk; 16.05.2011 в 18:35.
Mandrivnyk вне форума Ответить с цитированием
Старый 16.05.2011, 18:33   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
	int a[3][3];
	for(int i=0;i<3;i++){ bool b=false;int s=0;
		for(int j=0;j<3;j++){
			scanf("%d",&a[i][j]);s+=a[i][j];
			if(!b&&a[i][j]<0) b=true;
			printf("%d ",a[i][j]);
		}
		if(b) printf("%d\n",s); else printf("\n");
	} 
	getchar();
Цитата:
понятно...
Видимо не совсем раз сам не можешь открыть методу и почитать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.05.2011, 18:41   #5
Ислам
Форумчанин
 
Регистрация: 22.02.2011
Сообщений: 106
По умолчанию

В чем смысл?
Вы запускаете цикл по строкам. В нем объявляете флаг, s и зануляете(s);
Потом по столбцам пробегаете, считываете элементы массива! Сразу все суммируете! А потом только делаете проверку?!
Ислам вне форума Ответить с цитированием
Старый 17.05.2011, 18:55   #6
Ислам
Форумчанин
 
Регистрация: 22.02.2011
Сообщений: 106
По умолчанию

Цитата:
Mandrivnyk
Спасибо! Но вот есть один минус, большой, мне надо было сумму всех элементов в строке, а не только отрицательных=)
Ислам вне форума Ответить с цитированием
Старый 18.05.2011, 00:23   #7
Ислам
Форумчанин
 
Регистрация: 22.02.2011
Сообщений: 106
По умолчанию

Все! Сделал! Спасибо за помощь!
Ислам вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задан вектор X[20]. Положительные числа переписать в массив Y, а отрицательные в массив W leha_demi Помощь студентам 2 24.09.2011 18:12
Дан массив А(20). Получить массив В(20), в котором В(1)=А(2), В(2)=А(1), В(3)=А(4), В(4)=А(3) и т.д. Выве nikita1 Помощь студентам 5 01.12.2010 18:16
Как конвертировать массив символов в массив байт davinci C++ Builder 6 30.10.2010 18:09
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Упорядочить массив в порядке возрастания и напечатать входной и исходный массив. TheVenny Помощь студентам 3 26.11.2008 15:06