IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Масив в С, Что я зделал не так???
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Задана действительная квадратная матрица. В строках с отрицательным элементом на главной диагонали найти сумму всех элементов.

#include <math.h>
#include <stdio.h>
main ()
{int i,j,n,m,s=0,A[10] [10];
printf("введите розмер масива:");
scanf ("%i",&n);
printf("введите масив:\n");
for(i=0;i<n;i++);
for(j=0;j<n;j++);
scanf("%i",&A[i][j]);
printf("Исходный масив:\n");
for(i=0;i<n;i++);
for(j=0;j<n;j++);
printf("%i",&A[i][j]);
for(i=0;i<n;i++);
for(j=0;j<n;j++);
{if (i-j=0 && A[i][1]<0) then s=s+A[i][1];}
printf("%i",s);}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Цитата
Что я зделал не так???
Лишние точки с запятой (не надо после операторов цикла добавлять точку с запятой. Этим ты просто завершаешь цикл, и он не делает ничего полезного. [вброс]А вот в нормальных языках такое даже не компилируется...[/вброс]), неправильный вывод (при вводе значений нужно брать адрес переменной. При выводе должно передаваться значение, а не адрес), ну и с самим алгоритмом проблемы: чтобы проверить, в каких строках на главной диагонали стоит отрицательное число - не надо делать вложенные циклы. Вполне достаточно одного.

Ах, да, знак "равно" в Сях - это "==", одиночный символ "=" - это присваивание...

В общем, исправленная программа выглядит так:
#include <math.h>
#include <stdio.h>
int main ()
{
int i,j,n,s=0,A[10] [10];
printf("введите розмер масива:");
scanf ("%i",&n);
printf("введите масив:\n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%i",&A[i][j]);

printf("Исходный масив:\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%4d",A[i][j]);
printf("\n");
}

for(i=0;i<n;i++)
{
if (A[i][i]<0)
{
for(j = 0; j < n; j++)
s=s+A[i][j];
}
}
printf("Сумма = %d", s);
return 0;
}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Спасибо!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.04.2024 18:03
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name