Size: a a a

2021 March 01

В

Вячеслав in supapro.cxx
In Dev
В коде, который вы скинули, все нормально (в чем вы можете и сами убедиться его запустив). Проблема, очевидно, в том коде, который вы не показываете
Спасибо, буду искать
источник

AS

Anatoly Shirokov in supapro.cxx
Вячеслав
Спасибо, буду искать
в отладчике пройдись, например, в MSVC  ты остановишься при обращении к невалидным данным
источник

В

Вячеслав in supapro.cxx
Anatoly Shirokov
в отладчике пройдись, например, в MSVC  ты остановишься при обращении к невалидным данным
Попробую
источник

M

Muhiddin Abdikulov in supapro.cxx

#include<iostream>
using namespace std;
int main()
{
int n, s=0, k=0, a[100];
   
   cin>>n;
     
 for(int i=0; i<n; i++)
 { cin>>a[i];
  s=a[i]; }
 
   for(int j=0; j<n; j++)
{  if(s==a[j])
 k++;
  }
 cout<<k;  
}

Здравствуйте. Сравниваю последний элемент массива с остальными и вывожу количество. У меня возникли вопросы:
1.Обе цикла выполняются по одной итерации поочередно или сначало один цикл полностю а потом второй.
2. Откуда a[j] берёт данные a[i] ?

Вообщем как взаимодействуют обе for() ?
источник

ID

In Dev in supapro.cxx
Muhiddin Abdikulov

#include<iostream>
using namespace std;
int main()
{
int n, s=0, k=0, a[100];
   
   cin>>n;
     
 for(int i=0; i<n; i++)
 { cin>>a[i];
  s=a[i]; }
 
   for(int j=0; j<n; j++)
{  if(s==a[j])
 k++;
  }
 cout<<k;  
}

Здравствуйте. Сравниваю последний элемент массива с остальными и вывожу количество. У меня возникли вопросы:
1.Обе цикла выполняются по одной итерации поочередно или сначало один цикл полностю а потом второй.
2. Откуда a[j] берёт данные a[i] ?

Вообщем как взаимодействуют обе for() ?
Выполняются по очереди, по второму вопросу рекомендую прочитать про области видимости (scope)
источник

IZ

Ilia Zviagin in supapro.cxx
Muhiddin Abdikulov

#include<iostream>
using namespace std;
int main()
{
int n, s=0, k=0, a[100];
   
   cin>>n;
     
 for(int i=0; i<n; i++)
 { cin>>a[i];
  s=a[i]; }
 
   for(int j=0; j<n; j++)
{  if(s==a[j])
 k++;
  }
 cout<<k;  
}

Здравствуйте. Сравниваю последний элемент массива с остальными и вывожу количество. У меня возникли вопросы:
1.Обе цикла выполняются по одной итерации поочередно или сначало один цикл полностю а потом второй.
2. Откуда a[j] берёт данные a[i] ?

Вообщем как взаимодействуют обе for() ?
Циклы не вложенные, исполняются последовательно.
что за вопрос 2 ?
источник

ID

In Dev in supapro.cxx
Ilia Zviagin
Циклы не вложенные, исполняются последовательно.
что за вопрос 2 ?
Видимо вот об этом: if (s==a[j])
источник

M

Muhiddin Abdikulov in supapro.cxx
In Dev
Видимо вот об этом: if (s==a[j])
Да
источник

ID

In Dev in supapro.cxx
В таком случае я вам уже ответил
источник

IZ

Ilia Zviagin in supapro.cxx
Muhiddin Abdikulov

#include<iostream>
using namespace std;
int main()
{
int n, s=0, k=0, a[100];
   
   cin>>n;
     
 for(int i=0; i<n; i++)
 { cin>>a[i];
  s=a[i]; }
 
   for(int j=0; j<n; j++)
{  if(s==a[j])
 k++;
  }
 cout<<k;  
}

Здравствуйте. Сравниваю последний элемент массива с остальными и вывожу количество. У меня возникли вопросы:
1.Обе цикла выполняются по одной итерации поочередно или сначало один цикл полностю а потом второй.
2. Откуда a[j] берёт данные a[i] ?

Вообщем как взаимодействуют обе for() ?
1.Обе цикла выполняются по одной итерации поочередно или сначало один цикл полностю а потом второй.
один полностью потов второй

2. Откуда a[j] берёт данные a[i] ?
Из a[i]

Вообщем как взаимодействуют обе for() ?

Никак
источник

M

Muhiddin Abdikulov in supapro.cxx
Ilia Zviagin
Циклы не вложенные, исполняются последовательно.
что за вопрос 2 ?
#include<iostream>
using namespace std;
int main()
{
int n, s=0, k=0, a[100];
   
   cin>>n;
     
 for(int i=0; i<n; i++)
 { cin>>a[i];
  s=a[i];
   if(s==a[i])
 k++;
  }
 cout<<k;  
}

Изначально по моей логике я писал так. Но работало не так. Потом тупо добавил аторой for и раьотает.
источник

M

Muhiddin Abdikulov in supapro.cxx
In Dev
В таком случае я вам уже ответил
Спасибо
источник

IZ

Ilia Zviagin in supapro.cxx
источник

АД

А Му Де in supapro.cxx
Мне интересно, когда имеет смысл использовать смарт поинтеры, а когда лучше остаться с сырыми указателями?
источник

FS

Flower Surgeon in supapro.cxx
При работе с сишным API. например.
источник

AS

Anatoly Shirokov in supapro.cxx
А Му Де
Мне интересно, когда имеет смысл использовать смарт поинтеры, а когда лучше остаться с сырыми указателями?
raw используется в потрохах реализации, где эти raw надежно защищены в плане контроля времени жизни, а в прикладном коде используются vector, string, unique_ptr и т.п.
источник

IZ

Ilia Zviagin in supapro.cxx
А Му Де
Мне интересно, когда имеет смысл использовать смарт поинтеры, а когда лучше остаться с сырыми указателями?
смартпоинтеры разные.

Надо создавать объект динамически и/или защищать по RAII - unique_ptr

Время жизни объекта не определено — shared_ptr

в остальных случаях - голые указатели.
источник

AS

Anatoly Shirokov in supapro.cxx
Ilia Zviagin
смартпоинтеры разные.

Надо создавать объект динамически и/или защищать по RAII - unique_ptr

Время жизни объекта не определено — shared_ptr

в остальных случаях - голые указатели.
в остальных случаях - никогда не надо использовать голые указатели
источник

AS

Anatoly Shirokov in supapro.cxx
если это не детали реализации какой-нибудь высокоуровневой фигни, надежно защищающей этот raw указатель от утечек
источник

АД

А Му Де in supapro.cxx
Anatoly Shirokov
raw используется в потрохах реализации, где эти raw надежно защищены в плане контроля времени жизни, а в прикладном коде используются vector, string, unique_ptr и т.п.
То есть в условном классе, для всяких копи/мув конструкторов/асайментов, деструкторов и прочих достаточно приватных штуках, сырые указатели. Если мы собираемся же с этими объектами работать извне, класть их во всякие контейнеры и дёргать, то лучше умные указатели?
источник