Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.92
doctorclo
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 19
10.12.2011, 21:06     Мое знакомство с циклами в С++ #1
Доброго времени суток! Свое знакомства с языками начал с 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. Для чего она нужна, если есть скобочки? а синтаксис фора так же должен включать в себя скобочки? если не трудно, прошу растолковать мне как в СИ машина должна понимать начало и конец цикла или условия.
Заранее спасибо и извиняюсь если слишком глупый или часто задаваемый вопрос.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2011, 21:06     Мое знакомство с циклами в С++
Посмотрите здесь:

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



Цитата Сообщение от doctorclo Посмотреть сообщение
синтаксис фора так же должен включать в себя скобочки?
опять же, скобки нужны если внутри цикла несколько операций
prazuber
108 / 108 / 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;
}
Читайте книги. Там ведь весь синтаксис описывается.
CrazyAngel
 Аватар для 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
doctorclo
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 19
10.12.2011, 21:42  [ТС]     Мое знакомство с циклами в С++ #5
Большое спасибо!
Somebody
2770 / 1583 / 141
Регистрация: 03.12.2007
Сообщений: 4,139
Завершенные тесты: 1
10.12.2011, 21:44     Мое знакомство с циклами в С++ #6
C
1
2
3
int i = 0, count = 0;
while (count += massiv[i++] != '0', i < 100);
/* (В каждой шутке есть доля шутки) */
Jupiter
10.12.2011, 21:48
  #7

Не по теме:

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

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

Не по теме:

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

go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
10.12.2011, 23:09     Мое знакомство с циклами в С++ #15
Цитата Сообщение от Thinker Посмотреть сообщение
А статическими могут быть глобальными и локальными.
А смысл в глобальных статических переменных? Как правило, это локальные.
CrazyAngel
 Аватар для CrazyAngel
11 / 11 / 3
Регистрация: 01.12.2011
Сообщений: 33
10.12.2011, 23:09     Мое знакомство с циклами в С++ #16
Цитата Сообщение от Thinker Посмотреть сообщение
Переменные бывают автоматическими, регистровыми, глобальными и статическими.
Спасибо за разъяснение) Буду знать)
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
10.12.2011, 23:11     Мое знакомство с циклами в С++ #17
Цитата Сообщение от go Посмотреть сообщение
А смысл в глобальных статических переменных? Как правило, это локальные.
Они отличаются от глобальных тем, что если вы пишите заголовочный файл (модуль), то они не видны там, где ваш модуль подключается, поэтому смысл есть и еще какой
doctorclo
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 19
11.12.2011, 16:16  [ТС]     Мое знакомство с циклами в С++ #18
Всем спасибо)
теперь буду знать
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
11.12.2011, 16:22     Мое знакомство с циклами в С++ #19
Цитата Сообщение от doctorclo Посмотреть сообщение
и почему то нолик он не выводит
Выводит
C++
1
std::cout<<mas[2];
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2011, 17:00     Мое знакомство с циклами в С++
Еще ссылки по теме:

C++ Знакомство с наследованием. Вызов конструктора базового класса
C++ Знакомство с функциями
C++ Знакомство с указателями. Синтаксическая ошибка.

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

Или воспользуйтесь поиском по форуму:
doctorclo
0 / 0 / 0
Регистрация: 10.12.2011
Сообщений: 19
11.12.2011, 17:00  [ТС]     Мое знакомство с циклами в С++ #20
Можно еще вопросик?
как можно по-человечески в DEV-C++ посчитать длину строки? компилятор ругается на функцию str, даже если я подключил #include <string>. Не могли бы вы мне объяснить суть оператора str() и как в DEV-C++ можно нормально ввести строку и посчитать ее длину? вводить наверное через scanf
Yandex
Объявления
11.12.2011, 17:00     Мое знакомство с циклами в С++
Ответ Создать тему
Опции темы

Текущее время: 10:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru