Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему не заполняет массив? 
V
    Опции темы
Baton2007
Дата 24.2.2008, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2007

Репутация: нет
Всего: нет



Написал программу суть которой : Дана квадратная матрица N . Вычислить среднее арифметическое положительных элементов матрици , стоящих выше главной диагонали.
Вот листинг:
Код

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <ctime>

void main()
{   int n=6;
    int s=3;
    int i;
    int ser;
   int A[3][3];
   srand(time(0));
   for ( i=0;i<n;i++)
   {

     A[i]=rand()%10;

   }
   printf("\n");


  for (int i=0; i < n; i++){
    for (int j=1; j < s; j++){
      if (i < j && i>0)
         ser+=i;
            ser/=10;}}
              printf("ser=%d",ser);
      getch();
}


Компилю на Dev ++ и он ругается на строку  A[i]=rand()%10;  и пишет  incompatible types in assignment of `int' to `int[3]'
Помогите исправить ошибку и посмотрите правильно ли я прогу  написал??

PM MAIL   Вверх
xKOCMOCx
Дата 24.2.2008, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 3.8.2007

Репутация: нет
Всего: нет



Цитата(Baton2007 @ 24.2.2008,  17:19)
Компилю на Dev ++ и он ругается на строку  A[i]=rand()%10;  и пишет  incompatible types in assignment of `int' to `int[3]'

Ну это естественго, что он ругается, что это вообще за заполнение такое?
Никакой логике не поддаётся.....
Вот набросал рабочий код:
Код

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <ctime>

void main()
{   int n=3;
    int s=3;
    int flag = 0;
    int ser = 0;
   int A[3][3];
   srand(time(0));
   for(int ii = 0; ii < n; ii ++)
   for (int i=0;i<s;i++)
     A[i][ii]=rand()%-10;

    for (int i=0; i < n; i++){
    for (int j=0; j < s; j++)
    printf("%d",A[i][j]);
    printf("\n");
    }


  for (int i=0; i < n; i++)
    for (int j=0; j < s; j++)
      if (j - i > 0 && A[i][j] > 0)
         ser+=A[i][j], flag ++;
         printf("summ=%d\n",ser);
            ser = ser/flag;
              printf("ser=%d",ser);
      getch();

}

PM MAIL   Вверх
Baton2007
Дата 24.2.2008, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2007

Репутация: нет
Всего: нет



Спасибо понял!
PM MAIL   Вверх
Baton2007
Дата 29.2.2008, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2007

Репутация: нет
Всего: нет



Народ задали задачу :в квадратной матрице найти сумму элементов побочной диагонали и разделить на полученную сумму все элементы последнего столбца.
Я написал так подскажите правильно или нет и где ошибки!
Код


#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <ctime>

void main()
{
  int k;
  int n=3;// число элементов
    int s=3;// число строк
     int z;
     int d=0;
     int A[3][3];
     srand(time(0));
     for(int ii = 0; ii < n; ii ++) //заполнение массива
   for (int i=0;i<s;i++){
     A[i][ii]=rand()%-10;}
         for (int i=0; i < n; i++){  //вывод массива на экран
    for (int j=0; j < s; j++)
    printf("%d",A[i][j]);
    printf("\n");
    }
  printf("\n");
   for (int i=0; i < n; i++)
    for (int j=0; j < s; j++)
   for (d=0;d!=n; d++){
     z=A[i][j];i++;n--;
     k=k+A[i][n];i++;}
     z=z/k;
     printf("%d",z);
     getch();
}


PM MAIL   Вверх
JackYF
Дата 29.2.2008, 17:49 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(Baton2007 @  29.2.2008,  15:30 Найти цитируемый пост)
Я написал так подскажите правильно или нет и где ошибки!

а самому запустить и посмотреть? smile


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
Baton2007
Дата 3.3.2008, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2007

Репутация: нет
Всего: нет



Подскажите в чем проблема есть задача : Дана матрица размерности N на M ? надо найти в матрице первую по порядку строку с наибольшей суммой элементов и вывести ее номер на экраню Я написал прогу но переменная  st в которую записуется строка с наибольшей суммой элементов всегда равна 2 , подскажите в чем ошибка??
Код
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <ctime>
void main()
{int N=3;// число элементов
int M=3;// число строк
int avg;
int st=0;
int A[3][3]; //матрица
 srand(time(0));
   for(int i = 0; i < N; i ++) //заполнение массива
   for (int j=0;j<M;j++)
     A[j][i]=rand()%-10;

     for (int i=0; i < N; i++){  //вывод массива на экран
    for (int j=0; j < M; j++)
    printf("%d",A[j][i]);
    printf("\n");
    }


int max_val=avg;
for (int j = 0; j < M; j++) {
avg=0;
for (int i = 0; i < N; i++) {
avg+=A[j][i];
if(avg>max_val)max_val=avg;st=j;
}}
printf("%d",st);
getch();
}


PM MAIL   Вверх
_stranger_
Дата 3.3.2008, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 3.10.2006
Где: город-герой Киев

Репутация: нет
Всего: 2



проблема видимо тут:
Код


if(avg>max_val)
{
   max_val=avg;
   st=j;
}

PM MAIL   Вверх
Optimus
Дата 3.3.2008, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 1.9.2007

Репутация: нет
Всего: 14



И ещё, здесь avg ещё не инициализирована
Код

int max_val = avg;

По этому добавляем
Код

avg = 0;
int max_val = avg;


--------------------
"постановка задачи наполовину решает саму задачу"
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1079 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.