Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
doctorclo
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 19
#1

Мое знакомство с циклами в С++ - C++

10.12.2011, 21:06. Просмотров 1680. Ответов 38
Метки нет (Все метки)

Доброго времени суток! Свое знакомства с языками начал с Pascal , достаточно неплохо там освоился, вот теперь решил попробовать себя на СИ . и у меня уже серьезные проблемы с синтаксисом. Пока никак не могу перестроиться. Вот например возьмем синтаксис цикла. кусок моей ознакомительной, бесполезной программы, которая по причине моей криворукости не компилируется
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
   int nord;
   char massiv[100];
    int k;
int main()
{
 
 while (nord<100)
 {
 if massiv [nord]<>"0"
 k=k+1;
 ++nord;
  }
 
system("PAUSE");
return 0;  
}
(написано на DEV-C++)
по моей идеи, она должна считать количество не нулей в массиве чаровском.
по моим представлениям о си, вместо привычного для меня бегина и энда в циклах си должны использоваться открывающиеся и закрывающиеся скобочки. А в условие IF нужно ли их использовать?
в многих мануалах видел такую штуку типа endl. Для чего она нужна, если есть скобочки? а синтаксис фора так же должен включать в себя скобочки? если не трудно, прошу растолковать мне как в СИ машина должна понимать начало и конец цикла или условия.
Заранее спасибо и извиняюсь если слишком глупый или часто задаваемый вопрос.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2011, 21:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Мое знакомство с циклами в С++ (C++):

Знакомство со стеком - C++
Начал изучать принципы работы стека вроде все понятно но не пойму как реализовать такое действие. Задача: Есть динамический класс User...

Знакомство с функциями - C++
Я новичок в программировании, работаю в среде Dev C++. Вот решила начать изучение функций, и почему-то на первой же попытке ошибка... И не...

Знакомство с указателями. Синтаксическая ошибка. - C++
Доброго дня! В качестве учебного пособия использую &quot;С++ для чайников&quot; Тема: первое знакомство с указателями С++, ст.89 //Layout...

Мое проклятие с vs - C++
мне два года как не везет с компиляторами vs , (как говорится то ресет ,то бсод).недавно установил vs10 экспресс, у него вообще стандартные...

Знакомство с наследованием. Вызов конструктора базового класса - C++
В инете немного почиатл про наследование и решил сразу перейти к практике Есть два класа point и apoint вот хидер #ifndef...

Знакомство с классами, попытка реализации класса матриц - C++
Собственно выдает следующую вещь &quot;Необработанное исключение в &quot;0x00411805&quot; в &quot;class_test_inheritance.exe&quot;: 0xC0000005: Нарушение прав...

38
CrazyAngel
11 / 11 / 3
Регистрация: 01.12.2011
Сообщений: 33
10.12.2011, 21:25 #2
Цитата Сообщение от doctorclo Посмотреть сообщение
if massiv [nord]<>"0"
во-первых, вместо "<>" в Си используется "!="
во-вторых, условие massiv [nord]<>"0" нужно взять в круглые скобки
фигурные скобки в условии нужны, если у Вас несколько операций. Т.е. в данном примере они не нужны



Цитата Сообщение от doctorclo Посмотреть сообщение
синтаксис фора так же должен включать в себя скобочки?
опять же, скобки нужны если внутри цикла несколько операций
0
prazuber
110 / 110 / 3
Регистрация: 29.04.2010
Сообщений: 240
10.12.2011, 21:27 #3
Правильный вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
    char massiv[100];
    int i = 0;
    int count = 0;
 
    while (i < 100)
        if (massiv[i++] != '0')
            count++;
 
    return 0;
}
Читайте книги. Там ведь весь синтаксис описывается.
0
CrazyAngel
11 / 11 / 3
Регистрация: 01.12.2011
Сообщений: 33
10.12.2011, 21:27 #4
Только сейчас заметила, переменные нужно объявлять после int main(). Т.е.
C++
1
2
3
4
int main()
{
    int nord, k;
    char massiv[100];
И нужно задать начальное значение переменной nord
0
doctorclo
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 19
10.12.2011, 21:42  [ТС] #5
Большое спасибо!
0
Somebody
2791 / 1602 / 147
Регистрация: 03.12.2007
Сообщений: 4,199
Завершенные тесты: 1
10.12.2011, 21:44 #6
C
1
2
3
int i = 0, count = 0;
while (count += massiv[i++] != '0', i < 100);
/* (В каждой шутке есть доля шутки) */
1
Jupiter
10.12.2011, 21:48
  #7

Не по теме:

Цитата Сообщение от doctorclo Посмотреть сообщение
C
1
2
#include <iostream> 
#include <string>
doctorclo, в языке Си нет таких заголовков, вы пишите на С++

0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
10.12.2011, 22:00 #8
Цитата Сообщение от CrazyAngel Посмотреть сообщение
Только сейчас заметила, переменные нужно объявлять после int main().
Не обязательно, просто у ТС они глобальные и инициализируются нулями, в отличие от локальных переменных.
0
CrazyAngel
11 / 11 / 3
Регистрация: 01.12.2011
Сообщений: 33
10.12.2011, 22:23 #9
Thinker, правда? Не знала, спасибо, учту на будущее)
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
10.12.2011, 22:37 #10
Цитата Сообщение от CrazyAngel Посмотреть сообщение
Thinker, правда? Не знала, спасибо, учту на будущее)
Конечно, правда Только глобальными переменными не всегда удобно пользоваться, они всегда в памяти висят. Переменные бывают автоматическими, регистровыми, глобальными и статическими.
0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
10.12.2011, 23:01 #11
Цитата Сообщение от Thinker Посмотреть сообщение
и статическими.
А статические не могут быть глобальные? Глобальные и локальные это их видимость, а все остально классы хранения (памяти)
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
10.12.2011, 23:03 #12
Цитата Сообщение от go Посмотреть сообщение
А статические не могут быть глобальные? Глобальные и локальные это их видимость, а все остально классы хранения (памяти)
Про классы памяти я и говорю) А статическими могут быть глобальными и локальными. При этом глобальные статические переменные видны только в исходном файле. Но то, что вы уточнили, это хорошо, а то бы и правда, могли меня не так понять.
0
fasked
Эксперт С++
4948 / 2528 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
10.12.2011, 23:06 #13
Цитата Сообщение от Thinker Посмотреть сообщение
При этом глобальные статические переменные видны только в исходном файле
В одной единице трансляции.
0
Thinker
Эксперт С++
4228 / 2202 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
10.12.2011, 23:08 #14
Цитата Сообщение от fasked Посмотреть сообщение
В одной единице трансляции.

Не по теме:

Ну да-да, хватит придираться, не терминологичен я сегодня))

0
go
Эксперт С++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
10.12.2011, 23:09 #15
Цитата Сообщение от Thinker Посмотреть сообщение
А статическими могут быть глобальными и локальными.
А смысл в глобальных статических переменных? Как правило, это локальные.
0
10.12.2011, 23:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2011, 23:09
Привет! Вот еще темы с ответами:

Мое первое приложение. Начало. Любые компетентные советы - C++
Здравствуйте, уважаемые пользователи, программисты. Моя работа, связанная с интернет-протоколами. Кратко, мне следует разработать...

вот мое задание. Можете с ним помо*ь? Очень надо - C++
В целочисленном массиве, сгенерированном случайным образом, найти наименьший из положительных элементов.

Проблема циклами - C++
Приветствую форумчанин, помогите пожалуйста с задачкой. Нашел похожую на паскале, но кода не пойму, от куда берется значение. Код, в...

Работа с циклами - C++
Затрудняюсь написать код для 3 и 5 задания, объясните пожалуйста. Есть ли какие-нибудь хитрости, чтобы можно было с лёгкостью решать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru