Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > C/C++/С#


Ответ
 
Опции темы Опции просмотра
Старый 22.11.2017, 01:08   #1 (permalink)
alex99lol
Новичок
 
Регистрация: 22.11.2017
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите найти ошибку в коде

Код:
#include <iostream>
#include <cstdlib>
using namespace std;
int arr[10], int_Ar[10];
int main()

{  int s, i, j;
s=0;
for ( i=0; i<=9; i++)
     {arr[i]=rand()%10;
for ( j=0; j<=9; j++)
         {int_Ar[j]=rand()%10;
         if( arr[i]=int_Ar[j])
        {s++;}}}

    cout<<endl;
     cout<< s;

    return 0;
}
задания сравнения елементов двух масивов и нахождения количества совпадений
alex99lol вне форума   Ответить с цитированием

Старый 22.11.2017, 01:08
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

На данный момент на форуме имеются схожие топики

Помогите найти ошибку в коде Python
Помогите исправить ошибку в коде
Помогите найти ошибку в коде

Старый 22.11.2017, 10:55   #2 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,871
Сказал(а) спасибо: 317
Поблагодарили 542 раз(а) в 183 сообщениях
Репутация: 101510
По умолчанию

Ничего в СИ не понимаю, языка не знаю, но ошибки вижу.
Например, в операторе "if" вместо логического условия равенства "==" стоит оператор присваивания "=".
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S на форуме   Ответить с цитированием
Старый 15.01.2018, 16:03   #3 (permalink)
Olej
Member
 
Аватар для Olej
 
Регистрация: 10.01.2018
Сообщений: 38
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от alex99lol Посмотреть сообщение
Помогите найти ошибку в коде
1. Вы пытаетесь сравнивать случайное значение [0...10) с другим случайным значением [0...10) - вероятность (частота) такого совпадения, хотя бы одного, очень малая - 1/10... так что вряд ли вы наловите много совпадений - сама формулировка задачи неудачная.

2. Про if(...) вам уже подсказали:
Код:
if( arr[i]=int_Ar[j])
Это самая обычная и частая ошибка.

3. Не хотите связываться с if(...) и наловить подобных ошибок, можете переписать всё сравнение с подсчётом - просто так:
Код:
s += arr[i] == int_Ar[j] ? 1 : 0;
И будет вам счастье.

4. Поменяйте местами вот эти строки, потому что это тоже бессмыслица записана:
Цитата:
Сообщение от alex99lol Посмотреть сообщение
Код:
    cout<<endl;
    cout<< s;
Так что ошибок тут достаточно...
Olej вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 20:04.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.