• Как автоматически создавать и добавлять экземпляры одной модели в другую?

    AkiroToshiro
    @AkiroToshiro Автор вопроса
    Вот что у меня получилось, если кому нужно. Я все делал не правильно с самого начала, и когда понял все пошло нормально.
    class GradeBook(models.Model):
        group_id = models.ForeignKey(StudentsGroup, on_delete=models.CASCADE)
        lesson = models.ForeignKey(Lesson, on_delete=models.CASCADE)
        date = models.DateField(blank=False)
    
    
    class Grade(models.Model):
        value = models.CharField(max_length=3, blank=True, default='')
        student_id = models.ForeignKey(Profile, blank=False, on_delete=models.CASCADE)
        gradebook = models.ForeignKey(GradeBook, on_delete=models.CASCADE, blank=False)
    
    
    @receiver(post_save, sender=GradeBook)
    def create_grades(sender, instance, created, **kwargs):
        if created:
           get_students = Profile.objects.all().filter(student_group=instance.group_id)
    
           for student in get_students:
               new_grade = Grade(student_id=Profile.objects.get(id=student.id), gradebook=instance)
               new_grade.save()
    Ответ написан
    Комментировать
  • Как сравнить слова?

    AkiroToshiro
    @AkiroToshiro
    Сначала вводим количество слов, а потом саму строку, можно и просто по одному слову
    #include <iostream>
    #include <cstring>
    #include <vector>
    using namespace std;
    
    
    int main() {
        vector<string> words;
        int words_count;
        cin >> words_count;
        string tmp;
        for(int i = 0;i < words_count; i++) {
            cin >> tmp;
            words.push_back(tmp);
        }
        bool check = true;
        for(int i = 0;i<words_count;i++) {
            if(words[i].length() != words[0].length())
            {
                check = false;
            }
        }
        if(check) {
            cout << "Yes";
        } else {
            cout << "No";
        }
    
        return 0;
    
    }
    Ответ написан
    Комментировать
  • Как исправить ошибку?

    AkiroToshiro
    @AkiroToshiro
    int genreF; поменяй на
    string genreF;
    Ответ написан
  • Что нужно сделать чтобы, сначала элементы структры проверить по условию и затем закинуть их в один массив?

    AkiroToshiro
    @AkiroToshiro
    Я б вам посоветовал переделать структуру, вместо массивов char сделать string. А вместо массива а сделать vector. О ошибка у вас потому что вы хотите присвоить в один чар массив чаров.
    Ответ написан
  • Как составляется программа?

    AkiroToshiro
    @AkiroToshiro
    a) Если я правильно понял, то в первом нужно просто сделать цикл который будет считать ваше пример постоянно подставляя n, и умножая его на полученый ранее ответ. Работает как факториал, но вместо !4 = 1*2*3*4, мы подставляем пример а уже в него n.
    long float ans = 1;
    for(int i=1; i <= 10; i++) {
        ans *= "Ваш пример"
    }

    c) Тут добавилась еще сума, то есть нужно сделать 2 цикла, один который перечисляет i а второй m, и внутри цикла m нужно постоянно добавлять значения. Только я не до конца понимаю что значат квадратные скобки, то ли это модуль, или это округление к целому. Если модуль, то abs("Ваш пример"), а если округлить по математическим правилам то round("Ваш пример"). И конечно нужно подключить cmath для роботы с модулем, округлением и степеню pow()
    long float ans = 1;
    for(int i=1; i <= 10; i++) {
        long double tmp = 0;
        for(int m=1;m <=11; m++) {
        tmp += "Ваш пример" 
        }
        ans *= tmp;
    }
    Ответ написан
    1 комментарий