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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2012, 10:04   #1
glebast
Форумчанин
 
Аватар для glebast
 
Регистрация: 10.12.2011
Сообщений: 154
Восклицание Задача на двумерный массив в СИ

Вот нужно решить задачу.
Код:
1.Для заданной матрицы размером 8×8 найти такие k, при которых k-я строка матрицы совпадает 
с k-м  столбцом.  
2.Найти сумму элементов в тех  строках, которые содержат  хотя бы  один 
отрицательный элемент.
Вот пробовал сделать второй пункт и то не получается. Помогите плииз.

Код:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

void main(){
int i,j,stk,stb,m[100][100],kol=0, z=0;
srand((unsigned)time(NULL));
    
printf("ishodnaya matrica:\n"); 
  for(i=0; i<4; i++) { 
    for(j=0; j<4; j++) { 
      m[i][j]=rand()%19-9; 
      printf("%3i",m[i][j]); 
    } 
    printf("\n"); 
  }     
 
    for(i=0; i<4; i++) {  
    for(j=0; j<4; j++){ 
     if(m[i][j]<0){
      for (i=0; i<4; i++){
       kol+=m[i][j];
       }
      }
     }
    } 
    
  printf("otr: %i\n",kol);

     system("pause");
     return 0;
}
glebast вне форума Ответить с цитированием
Старый 02.10.2012, 11:34   #2
Alitera
Пользователь
 
Аватар для Alitera
 
Регистрация: 13.04.2012
Сообщений: 20
По умолчанию

Доброе время суток!

Вторая часть задания:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

N=4;
int i,j,stk,stb,m[8][8],kol,z;

int main(int argc, char *argv[])
{
  srand (time (NULL));
  kol=0;z=0;
  printf("ishodnaya matrica:\n"); 
  for(i=0; i<N; i++) { 
    for(j=0; j<N; j++) { 
      m[i][j]=rand()%19-9; 
      printf("%3i",m[i][j]); 
    } 
    printf("\n"); 
  }     
 
    for(i=0; i<N; i++){  
       for(j=0; j<N; j++){
            if (m[i][j]<0){
                for(j=0; j<N; j++){
                    kol+=m[i][j];
                    }
                continue;
                }
            }
       }
    
  printf("otr: %i\n",kol);
    
  system("PAUSE");	
  return 0;
}
добавлено continue;

Цитата:
Найти сумму элементов в тех строках
для каждой сроки 1. своя сумма или 2. для всех строк общая? У вас сделан 2 вариант.
помогла - жми на весы

Последний раз редактировалось Alitera; 02.10.2012 в 11:37.
Alitera вне форума Ответить с цитированием
Старый 02.10.2012, 17:03   #3
glebast
Форумчанин
 
Аватар для glebast
 
Регистрация: 10.12.2011
Сообщений: 154
По умолчанию

Alitera спасибо все правильно работает, только теперь бы еще первый пункт сделать. У меня вообще мыслей нет как это все реализовть. Помогите кто-нибудь.
glebast вне форума Ответить с цитированием
Старый 03.10.2012, 09:30   #4
Alitera
Пользователь
 
Аватар для Alitera
 
Регистрация: 13.04.2012
Сообщений: 20
По умолчанию

Цитата:
Для заданной матрицы размером 8×8 найти такие k, при которых k-я строка матрицы совпадает
с k-м столбцом.
1. Добавила переменные flag,k
Код:
int i,j,stk,stb,m[8][8],kol,z,flag,k;
2. Изменила интервал генерируемых чисел чтобы легче было проверить алгоритм
Код:
m[i][j]=rand()%2-2;
3. Решение:
Код:
for(k=0; k<N; k++)
     {
      flag=0;  
      for(i=0; i<N; i++){
         if (m[i][k]!=m[k][i]){flag=1;continue;}
        }
      if(flag==0)
       {printf("%d, ",k);}
    } 
     printf("\n");
помогла - жми на весы

Последний раз редактировалось Alitera; 03.10.2012 в 09:32.
Alitera вне форума Ответить с цитированием
Старый 03.10.2012, 10:52   #5
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от Alitera Посмотреть сообщение
Вторая часть задания:
Код:
    ... 
    for(i=0; i<N; i++){  
       for(j=0; j<N; j++){
            if (m[i][j]<0){
                for(j=0; j<N; j++){
                    kol+=m[i][j];
                    }
                continue;
                }
            }
       }
   ...
Нехорошо. В данном конкретном случае - сработает, но, вообще-то, менять значение переменной цикла for в теле цикла - нехорошо...
Vago вне форума Ответить с цитированием
Старый 03.10.2012, 11:21   #6
Alitera
Пользователь
 
Аватар для Alitera
 
Регистрация: 13.04.2012
Сообщений: 20
По умолчанию

Спасибо за замечание. Согласна. Нужно взять другую переменную.
помогла - жми на весы
Alitera вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MV C++.Задача на двумерный массив Lanka1 Помощь студентам 7 13.02.2011 15:59
Задача на двумерный массив [Gunpowder M.D.] Помощь студентам 1 18.10.2010 01:48
Двумерный массив(1 задача) MyaSnIKs Помощь студентам 4 28.03.2009 15:32
Задача на двумерный массив maliyusha Паскаль, Turbo Pascal, PascalABC.NET 5 30.12.2008 07:42