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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2023, 18:43   #11
brodnik
Пользователь
 
Регистрация: 28.01.2023
Сообщений: 35
По умолчанию

Ничего не понял. Есть код, сделайте с ним что считаете нужным.
brodnik вне форума Ответить с цитированием
Старый 06.02.2023, 09:53   #12
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 741
По умолчанию

Читаем справку. Не закрыты циклы и функция фигурными скобками.

Последний раз редактировалось Cuprum5; 06.02.2023 в 09:56.
Cuprum5 вне форума Ответить с цитированием
Старый 06.02.2023, 09:56   #13
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 741
По умолчанию

Тебе сколько раз нужно это повторить? Миллиарды раз повторять не собираюсь, иди учись.
Cuprum5 вне форума Ответить с цитированием
Старый 13.02.2023, 10:08   #14
brodnik
Пользователь
 
Регистрация: 28.01.2023
Сообщений: 35
По умолчанию

Исправил. Это при копировании ошибся. В визуал студио все нормально.


Код:
#include <iostream>
#include <stdlib.h>
#include <time.h>
double proizved[2];
const int s = 2;
const int q = 10;
double ar1[2]={2,3};                   
double ar12[10][2];       
double ar2[20]; 

double FUN(int s, int q, double n[], double m[][2])
{
    for (int i = 0; i < q; i++)
    {   
        for (int j = 0; j < s; j++)
        {
            proizved[j] = n[j] * m[i][j];
            i = i + 1;
            cout << "proizved[" << j << "] : " << proizved[j] << " = " << "n[" << j << "]" << n[j] << " X " << "m[" << i << "][" << j << "]" << m[i][j] << endl;
        }
    }
}
int main()
{
    setlocale(0, "");
 //----------------------------------------------------------------------------------------------
    srand(time(NULL));
    for (int i = 0; i < 10; i++)
    {
        for (int j = 0; j < 2; j++)
        {
            ar12[i][j] = 1.0 * rand() / (float)RAND_MAX;     
            cout << "ar12[" <<i<<"]["<<j<<"] = "<< ar12[i][j] << endl;
        }        
    }
    for (int i = 0; i < 10; i++)
        {
            ar2[i] = FUN(2,10, ar1, ar12);
            cout << "ar2[" << i << "]" << " = " << ar2[i] << "  " << endl;
        }
}
 //-----------------------------------------------------------------------------------------------

Последний раз редактировалось brodnik; 13.02.2023 в 19:43.
brodnik вне форума Ответить с цитированием
Старый 13.02.2023, 19:47   #15
brodnik
Пользователь
 
Регистрация: 28.01.2023
Сообщений: 35
По умолчанию

Я обхожу эту проблему тем, что заменяю двумерный массив на одномерный длиной i*j. Но разобраться все равно надо, а без конкретного примера не получается. Так мои мозги устроены.
brodnik вне форума Ответить с цитированием
Старый 13.02.2023, 19:50   #16
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

i и j обычно индексы, а вам надо l*w где l - это длина, а w - ширина. Но тогда доступ к элементам в одномерном массиве надо считать по формуле i*l+j
macomics вне форума Ответить с цитированием
Старый 14.02.2023, 02:19   #17
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,306
По умолчанию

Не нужно во внутреннем цикле в функции FUN менять значение i, получается не поэлементное перемножение одномерного массива на строку двухмерного массива, а чехарда по строкам. В функции FUN нет return, поэтому в ar2 запишется неизвестно что. Для упрощения попробуйте получить желаемый результат в main, а потом уже выносите часть работы в функцию.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 14.02.2023, 11:40   #18
brodnik
Пользователь
 
Регистрация: 28.01.2023
Сообщений: 35
По умолчанию

Да-да, это случайно сюда попало. Я выковыриваю с программы кусочек со своей проблемой, вот и получаются ошибки. Программка уже работает, хоть недоделок еще тьма. Это нейронная сеть, которая должна быть проще некуда, в рамках процедурного программирования. Сеть за пол-минуты выучивает таблицу умножения. Могу выложить сюда, если это здесь уместно.
brodnik вне форума Ответить с цитированием
Старый 15.02.2023, 08:22   #19
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 971
По умолчанию

brodnik, нейросеть для таблицы умножения ? о_О
Алексей1153 вне форума Ответить с цитированием
Старый 15.02.2023, 09:13   #20
brodnik
Пользователь
 
Регистрация: 28.01.2023
Сообщений: 35
По умолчанию

А почему нет? Она пишется для того, чтобы показать принцип ее работы непрофессионалу, например - школьнику. Вспомните, как вам показывали работу функции, которая должна сложить два числа. Это примерно то же.
В принципе ей можно и другие задачи ставить, но это со временем.

Последний раз редактировалось brodnik; 15.02.2023 в 10:07.
brodnik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы С++.Функция не принимает 0 аргументов!!! Tat0107 Visual C++ 3 20.03.2021 15:28
Функция и одномерные массивы с условием Андрюшатина Помощь студентам 15 05.02.2015 00:43
Задачи visual basic(массивы и функция) karinka777 Помощь студентам 1 22.12.2011 10:00
Функция memcpy и массивы. Corvette Общие вопросы C/C++ 2 26.08.2011 21:16
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50