рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Цикл foreach

Цикл foreach - раздел Образование, Навчальної дисципліни Основи програмування та алгоритмічні мови При Обробці Масивів І Рядків Дуже Часто, Використають Оператори Циклів. Всі О...

При обробці масивів і рядків дуже часто, використають оператори циклів. Всі оператори циклів, які застосовуються в мові ISO/ANSI C++, також використаються й у и в C++/CLI. Але мова C++/CLI пропонує ще один розкішний тип циклу, називана for each. Він призначений спеціально для ітерації по об'єктах, що належить до певного набору. Застосуємо цикл for each для ітерації по символах рядка.

Використання циклу for each для доступу до кожного символу в String

 

Створіть новий проект консольної програми CLR і модифікуйте код у такий спосіб:

 

// Аналіз рядка за допомогою циклу for each

#include "stdafx.h"

using namespace System;

int main()

{

int vowels = 0;

int consonants = 0;

String^ proverb = L"This is a simple text for \"for each\" cycle" ;

for each (wchar_t ch in proverb)

{

if(Char::IsLetter(ch))

{

ch = Char::ToLower(ch) ; // Перетворити в нижній регістр

switch(ch)

{

case 'a':

case 'e':

case 'i':

case 'о':

case 'u':

++vowels;

break;

default:

++consonants;

break;

}

}

}

Console::WriteLine(proverb);

Console::WriteLine(L"Текстовий рядок містить {0} голосних й {1} згодних.",vowels, consonants);

return 0;

}

Результат роботи програми буде наступний:

 

 

Можна також виконати ітерацію по всіх елементах масиву, скориставшись циклом for each:

array<int>~ values = { 3, 5, 6, 8, б};

for each(int item in values)

{

item = 2*item + 1;

Console::Write("{0,5}",item);

}

Усередині циклу змінна item посилається на кожен елемент масиву по черзі. Перший оператор у тілі циклу заміняє значення поточного елемента подвоєним старим його значенням плюс одиниця. Другий оператор циклу виводить нове значення, вирівнюючи його вправо в поле шириною п'ять символів, тому в результаті виходить наступний висновок:

7 11 13 17 13

 

Розглянемо ще кілька прикладів використання рядків і масивів мовою C++/CLI.

Як уже було сказано раніше, об'єкт String - незмінний, тобто будучи один раз инициализированным, він не може бути змінений. Клас String містить методи, які можна використати для зміни об'єкта String , такі, як Insert (Вставка), Replace (Заміна) і PadLeft. Однак, у дійсності, зазначені методи ніколи не змінюють вихідний об'єкт. Замість цього вони повертають новий об'єкт String , що містить змінений текст. Якщо ми хочемо одержати можливість змінювати вихідні дані, то варто використати клас StringBuilder, а не на сам клас String. У наступному прикладі показано, що метод Replace (Заміна) не впливає на вміст вихідного об'єкта String (Рядок), але змінює вміст об'єкта StringBuilder:

 

#include "stdafx.h"

using namespace System;

using namespace System::Text; // для StringBuilder

 

void main(void)

{

Console::WriteLine("String is immutable:"); // ("Рядок є незмінною: ") ;

String ^psl = "Hello World"; // Рядок "Привіт, Мир"

 

String ^ps2 = psl->Replace('H','J'); // Заміна

Console::WriteLine(psl) ;

Console::WriteLine(ps2);

Console::WriteLine("StringBuilder can be modified:"); // ("StringBuilder може змінюватися: ") ;

StringBuilder ^psbl = gcnew StringBuilder("Hello World");// Привіт, Мир

StringBuilder ^psb2 = psbl->Replace('H', 'J'); // Заміна

Console::WriteLine(psbl);

Console::WriteLine(psb2);

}

 

Метод ToString забезпечує подання об'єкта String для будь-якого

керованого типу даних. Хоча метод ToString не є автоматично доступним для некерованих класів, він доступний для впакованих значимих й упакованих примітивних типів, таких, як int або float (із плаваючою крапкою).

Метод ToString найбільше часто використається для висновку інформації, а також при налагодженні, і створювані керовані класи звичайно заміняють ToString так, щоб він повертав певну розроблювачем, удобочитаемую інформацію про об'єкт. Метод Object::ToString просто повертає повне ім'я класу даного об'єкта і його реалізація (не особливо корисна, втім) доступна через спадкування будь-якому керованому типу. Наступний приклад демонструє деякі аспекти роботи методу ToString:

 

#include "stdafx.h"

using namespace System;

// клас збирача сміття ClassWithToString

value class ClassWithToString

{

public:

virtual String ^ToString() override // перевантаження методу

{

// повернути новий Рядок ("SomeClass - скасування");

return gcnew String("SomeClass - override");

}

};

value class ClassNoToString // клас збирача сміття ClassNoToString

{

};

void main(void)

{

int i = 3;

 

Console::WriteLine(i.ToString()); // перевантаження String^

Console::WriteLine(i); // перевантаження int

 

ClassWithToString ^psc = gcnew ClassWithToString;

Console::WriteLine(psc->ToString()); // перевантаження String^

Console::WriteLine(psc); // перевантаження Object^

 

ClassNoToString ^psoc = gcnew ClassNoToString;

Console::WriteLine(psoc->ToString()); // перевантаження String^

Console::WriteLine(psoc); // перевантаження Object^

 

array<int>^ agc= gcnew array<int>(5); // масив збирача сміття

Console::WriteLine(agc->ToString()); // перевантаження String

Console::WriteLine(agc); // перевантаження Object*

}

Результат роботи програми наведений нижче.

 

 

Помітьте, що метод ToString можна викликати явно як аргумент перевантаженого методу WriteLine об'єкта String, а можна викликати перевантажений метод WriteLine об'єкта String, що сам викличе метод ToString. Помітьте також, що навіть керований масив (який, насправді, є керованим типом) підтримує метод ToString.

Керовані строкові лiтерали String (Рядок) і некеровані строкові лiтерали ASCII й Unicode (завдяки автоматичному впакуванню) можна використати у вираженнях, у яких очікується використання керованого строкового об'єкта String (Рядок). Однак керований строковий об'єкт String (Рядок) не можна використати там, де очікується поява змінних некерованих типів. Наступний приклад доводить це. Зверніть увагу на закоментованi рядки. Спробуйте їх разкоментeвати і подивитеся, що відбудеться.

 

//MixingStringTypes.срр

 

#include "stdafx.h"

#include < stdio.h >

#include <stdlib.h>

#include <wchar.h> // для wchar__t

 

using namespace System;

 

void ExpectingManagedString(String ^str) // Рядок керована

{

Console::WriteLine("From ManagedString : {0}",str);

}

void ExpectingASCIIString(char *str) // Рядок ASCII

{

printf("From ASCIIString : %s \n",str);

}

void ExpectingUnicodeString(wchar_t *str) // Рядок Unicode

{

printf("From UnicodeString : %S\n",str);

}

 

void main(void)

{

char *simp_str="Simple line";

wchar_t *uni_str=L"Unicode line";

String ^man_str=L"Manage line";

 

char uni2simp[30];

// очікується керований тип

ExpectingManagedString(man_str);

ExpectingManagedString("Simple line - literal");

ExpectingManagedString(gcnew String(simp_str));

ExpectingManagedString(L"Unicode line - literal") ;

ExpectingManagedString(gcnew String(uni_str)) ;

Console::WriteLine();

// очікується простий символьний рядок

//ExpectingASCIIString((char*)man_str );

ExpectingASCIIString(simp_str);

ExpectingASCIIString("Simple line - literal") ;

wcstombs(uni2simp, uni_str, wcslen(uni_str);

ExpectingASCIIString(uni2simp) ;

// ExpectingASCIIString(L"Unicode line - literal") ;

Console::WriteLine();

// очікується рядок Unicode

ExpectingUnicodeString(uni_str);

ExpectingUnicodeString(L"Unicode line - literal");

//ExpectingUnicodeString ((wchar_t*)simp_str);

//ExpectingUnicodeString((wchar_t*)man_str);

}

 

Результат роботи виглядає в такий спосіб

 

 

Наступний приклад показує, як можна використати оброблювач виключень при спробі доступу до неіснуючого елемента керованого масиву. Зверніть увагу, що масив містить п'ять елементів, а в циклі виробляється спроба установити значення шостого. Програма у звичайному C++ виконала б таку дію, зменів уміст пам'яті за межами масиву. Ніхто не скаже точно, чим це могло б закінчитися. При перевірці коректності адреси виконуються дві дії: по-перше, запобігає зміна вмісту пам'яті за межами масиву; по-друге, програмі повідомляється, що виникла подібна ситуація, тим самим даючи можливість виправити помилку ще на стадії тестування. У звичайному C++ така помилка часто не проявляється доти, поки програма, по незрозумілих причинах, не припиняє работу, звичайно в місці коду, що далеко відстоїть від самої помилки.

 

#include "stdafx.h"

using namespace System;

 

void main ()

{

array<int>^ intArray = gcnew array<int> (5); // керований масив з 5 эл-тов

for (int i=-2; i<6; i++) // більше чим є!!!

{

try

{

intArray[i] = i;

Console::WriteLine("Assigned A[{0}]={1}",i,i);

}

catch (IndexOutOfRangeException^ piore)

{

// повідомлення про настання виняткової ситуації

Console::WriteLine("Oooops!");

Console::WriteLine(piore->Message+" Index={0}",i);

}

}

}

 

 

У наступному прикладі ілюструється робота з масивами, і рівняються керований двовимірний масив і звичайний некерований двовимірний же масив. Звернете ще раз увага на те, що при роботі з некерованим масивом використається старий синтаксис доступу до елементів масиву [][], тоді як при роботі з керованим масивом, що є істинно двовимірним, використається синтаксис [ , ]. Хоча в цьому прикладі при використанні синтаксису [ ] [ ] кожний з пiдмасивiв має однакову кількість елементів, в інших випадках вони можуть мати різні розміри (т.зв. масив з нерівним правим краєм). Синтаксис [, ] припускає використання істинно прямокутного масиву.

 

#include "stdafx.h"

using namespace System;

 

void main ()

{

// керований одномірний масив int

Console::WriteLine("managed ID array of int");

array<int>^ intArray = gcnew array<int>(5);

for (int i=0; i<intArray->Length; i++)

{

intArray[i] = i;

Console::Write(intArray[i]); // Висновок елемента масиву

Console::Write("\t");

}

Console::WriteLine();

 

// керований двовимірний масив Рядків керований тип, що використає

Console::WriteLine("managed 2D array of Strings");

array<String^,2>^ str2DArray = gcnew array<String^,2> (2,3); // новий Рядок

// L8-13.cpp : main project file.

//Arrayl.срр

#include "stdafx.h"

using namespace System;

 

void main ()

{

// керований одномірний масив int

Console::WriteLine("managed 1D array of int");

array<int>^ intArray = gcnew array<int>(5);

for (int i=0; i<intArray->Length; i++)

{

intArray[i] = i;

Console::Write(intArray[i]); // Запис

Console::Write("\t"); // Запис

}

Console::WriteLine();

 

// керований двовимірний масив Рядків керований тип, що використає

Console::WriteLine("managed 2D array of Strings");

array<String^,2>^ str2DArray = gcnew array<String^,2> (2,3);

// новий Рядок

for(int row=0; row<str2DArray->GetLength(0); row++)

// цикл по рядках

{

for (int col=0; col<str2DArray->GetLength(1); col++)

// цикл по стовпцях

{

str2DArray[row,col] = (row*10 + col).ToString();

// str2DArray [рядок, стовпець] == (row*10 + стовпець).ToString ();

Console::Write(str2DArray[row,col]); // висновок елемента масиву

Console::Write("\t");

}

Console::WriteLine();

}

Console::WriteLine();

 

// некерований двовимірний масив int (для порівняння)

Console::WriteLine("unmanaged 2D array of int");

int int2DArray[2][3];

for(int row=0; row<2; row++) // по рядках

{

for(int col=0; col<3; col++) // по стовпцях

{

int2DArray[row][col] = row*10 + col;

// int2DArray [рядок] [стовпець] = row*10 + стовпець;

Console::Write(int2DArray[row][col]); // висновок елемента масиву

Console::Write("\t");

}

Console::WriteLine();

}

}

for(int row=0; row<str2DArray->GetLength(0); row++) // цикл по рядках

{

for (int col=0; col<str2DArray->GetLength(1); col++) // цикл по стовпцях

{

str2DArray[row,col] = (row*10 + col).ToString();

// str2DArray [рядок, стовпець] == (row*10 + стовпець).ToString ();

Console::Write(str2DArray[row,col]); // висновок елемента масиву

Console::Write("\t");

}

Console::WriteLine();

}

Console::WriteLine();

 

// некерований двовимірний масив int (для порівняння)

Console::WriteLine("unmanaged 2D array of int");

int int2DArray[2][3];

for(int row=0; row<2; row++) // по рядках

{

for(int col=0; col<3; col++) // по стовпцях

{

int2DArray[row][col] = row*10 + col;

// int2DArray [рядок] [стовпець] = row*10 + стовпець;

Console::Write(int2DArray[row][col]); // висновок елемента масиву

Console::Write("\t");

}

Console::WriteLine();

}

}

 

У висновку варто згадати про наявності в складі бібліотеки .NET класів колекцій, призначених для організації даних, у тому числі класи визначення списків, черг, стекiв, словників.

Нижче наведений приклад використання динамічно зростаючого, при необхідності масиву.

 

#include "stdafx.h"

using namespace System;

using namespace System::Collections;

 

int main()

{

// Створюємо й инициализируем ArrayList.

ArrayList^ myAL = gcnew ArrayList;

myAL->Add( "Програма" );

myAL->Add( "№" );

myAL->Add( "1" );

myAL->Add( "Демонстрація колекцій" );

myAL->Add( "!" );

// Displays the properties and values of the ArrayList.

Console::WriteLine( "myAL" );

Console::WriteLine( " Кількість: {0}", myAL->Count );

Console::WriteLine( " Ємність : {0}", myAL->Capacity );

Console::WriteLine();

for each (String^ s in myAL)

{

Console::WriteLine("Індекс:{0}Значення:{1}",myAL->IndexOf(s),s );

}

}

 

– Конец работы –

Эта тема принадлежит разделу:

Навчальної дисципліни Основи програмування та алгоритмічні мови

ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ... Методичні рекомендації до лабораторних робіт з навчальної дисципліни...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Цикл foreach

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

ЗАГАЛЬНІ ПОЛОЖЕННЯ
Методичні рекомендації призначені для виконання лабораторних робіт з першої частини навчальної дисципліни «Основи програмування та алгоритмічні мови». Перед виконанням кожної роботи необхі

Покажчики
Коли компілятор обробляє оператора визначення змінної, наприклад, int i =10, він виділяє пам'ять відповідно до типу (int) і ініціалізував її вка-заним значенням (10). Всі звернення в програмі до зм

Ініціалізація покажчиків
Покажчики найчастіше використовують при роботі з динамічною пам'яттю, званою деякими естетами купою (переклад з англійської мови слова heap). Це вільна пам'ять, в якій можна під час виконання прогр

Операції з покажчиками
З покажчиками можна виконувати наступні операції: разадресация, або непряме звернення до об'єкту (*), привласнення, складання з константою, віднімання, інкремент (++), декремент (--), порівняння, п

Рядки символів як масиви
Рядок має тип “масив з символів”. Рядок завершується нульовим символом. Наприклад, рядок QWERTY має тип char [7], порожній рядок “ має тип char[1]. Рядкова константа - це послідовні

Рядкові бібліотечні функції
Функції для роботи з рядками описані в заголовному файлі string.h. Деякі з них: char *stpcpy(char *dest, const char *src); Копіює символи рядка, поки не скопіює нульовий символ. П

Відкриття і закриття потоку
Схема роботи з потоком така ж, як і з файлом: відкрити потік, виконати читання і/або запис, закрити потік. Відкриває потік функція FILE* fopen( const char *filename,// ім

Введення і виведення рядків
Читання рядка з потоку виконується функцією char *fgets( char *s, // покажчик на буфер, що приймає рядок int n, // гранична кількість читаних символів (звичайно розмір бу

Форматоване виведення
Розглянуті вище функції виводять інформацію в потік без або майже без перетворення. Функція fprintf перетворить дані, що виводяться, в послідовність символів, керуючись рядком формату. int

Форматоване введення
Для форматованого введення з потоку застосовують функцію int fscanf (FILE *stream, const char *format [, address, ...] ) - повертає число полів введення тих, що

Варіант 20
Написати програму, яка: · Виводить текст на екран дисплея; · Визначає найбільшу кількість підряд пропусків, що йдуть, в тексті; · По натисненню довільної клавіші по черзі

Стадії і команди препроцесорної обробки
У інтегроване середовище підготовки програм на С++ в компілятор мови як обов'язковий компонент входить препроцесор. Призначення препроцесора - обробка початкового тексту програми до її компіляції.

Включення текстів з файлів
Для включення тексту з файлу використовується команда #include, що має дві форми запису: #include <имя_файла> // Ім'я в кутових дужках #include "имя_файла" // Ім'я

Умовна компіляція
Умовна компіляція забезпечується в мові С++ набором команд, які, по суті, управляють не компіляцією, а препроцесорною обробкою: #if константний вираз #ifdef ідентифікатор

Макропідстановки засобами препроцесора
Макрос, за визначенням, є засіб заміни однієї послідовності символів іншої. Для виконання замін повинні бути задані відповідні макроозначення. Просте макроозначення ми вже ввели, розглядаючи директ

Теоретичний матеріал
  Структури - це складені типи даних, побудовані з використанням інших типів. Вони є об'єднаний загальним ім'ям набір даних різних типів. Саме тим, що в ст

Масиви структур.
Методика створення масивів структур - така сама, як і при створенні масивів. Наприклад, що б створити масив з 100 екземплярів BestStudent структури Student, необхідний наступний запис: Stu

Варіант 3
Відомість використання машинного часу на обчислювальному центрі: № з/п Кафедра Використання машиного часу (год) Відхилення

Варіант 4
Відомість споживання електроенергії на заводах міста: № з/п Завод Потреба електроенергії, кВт/ч Відхилення від плана

Варіант 5
Відомість руху матеріалів на складах підприємства за звітний період: № п/п Склад Рух материалів за період, грн остаток на к

Варіант 8
Відомість відвідин занять студентами: № з/п Прізвище Пропущено годин Відхилення від плану за планом

Варіант 10
Відомість обліку часу роботи верстатів підприємства: № з/п Тип станка Час роботы (год) Відхилення від плану

Варіант 11
Відомість випуску деталей робітниками цеху: № з/п Прізвище Кількість деталей (шт.) Брак виготовлено

Варіант 13
Відомість нарахування зарплати співробітникам підприємства: № з/п Прізвище Нараховано (грн) Виплати

Варіант 17
Відомість оплати ремонту обладнання підприємства за звітний період: № зп Обладнання Вид ремонту Вартість комплектуючих

Варіант 20
Відомість телефонних переговорів абонента за звітний період: № зп Абонент № телефона Тривалість переговорів (хв.)

Короткі теоретичні відомості
  STL - це бібліотека стандартних шаблонів. Вона містить, наприклад, що часто зустрічаються способи організації даних - так називані контейнери: динамічні масиви, двонаправленi списки

Варіант 20
Скласти програму, яка містить поточну інформацію про заявки на туристичні тури. Кожна заявка включає: · пункт призначення; · номер туру; · прізвище і ініціали за

Дослідження структури windows-додатка
  Ціль лабораторної роботи - одержання практичних навичок у побудові базового додатка для Win32, дослідження параметрів віконних процедур. Перед виконанням лабораторної робот

Перелік бітових прапорів стилю класу вікна
Прапор Опис CS _VREDRAW Перемалювати вікно при зміні висоти вікна CS_HREDRAW Перемал

Список визначених системних піктограм
Іконка Опис IDI_APPLICATION Піктограма додатка, задана за замовчуванням IDI_ASTERISK

Список визначених ідентифікаторів курсору
Курсор Опис IDC_APPSTARTING Стандартна стрілка й пісковий годинник. IDC_ARROW Станда

Перелік бітових прапорів стилю вікна
Прапор Опис WS_BORDER У вікна є тонка обмежуюча рамка WS_CAPTION WS_BORDER | WS_DLGF

Варіант № 20
Вікно повинне: · бути згорнутим; · мати власний контекст; · завантажувати іконку у вигляді молодого півмісяця; · мати курсор у вигляді двухконечной стрілки з нап

Дослідження взаємодії додатка з користувачем
  Ціль лабораторної роботи: Досліджувати можливості функцій Win32 API по створенню візуального інтерфейсу додатка, одержати практичні навички написання й настроювання програм, які міс

Значки, покажчики миші й крапкові малюнки
Ресурси даного типу створюються за допомогою різних редакторів, але тому що всі вони ставляться до растрових зображень, робиться це по одному принципі. Редактори значків і покажчиків миші дозволяют

Створення меню
Що таке меню. Меню - це список команд й опцій програми. У ряді випадків пункти меню можуть бути представлені растровими зображеннями. Вибрати елемент меню можна за допомогою миші, клавіатури або пе

Діалогові вікна
Використання меню варто розглядати як найпростіший спосіб уведення інформації користувачем. Більше зробленим методом передачі даних у програму є застосування діалогових вікон. Можливість уведення д

Розробка діалогового вікна
Для діалогового вікна необхідно скористатися відповідним редактором. Редактор діалогових вікон викликається в процесі реалізації ланцюжка дій ( Рис. 7.4).  

Компонування діалогового вікна
За допомогою миші розмістите поле й напис у потрібнім місці й задайте їхній розмір. Щиглик мишею усередині макета діалогового вікна дозволить відредагувати заголовок вікна або текстовий рядок, що н

Бітові прапори, що визначають поводження й вид елемента меню
Прапор Опис MF_BITMAP Замість рядка в якості меню застосовується bitmap MF_BYCOMMAND

Можливі типи рядка стану
Тип Опис SBT_NOBORDERS Панель прорисовується без обмежувальних ліній SBT_POPOUT Пане

Перелік бітових прапорів стилю вікна
Прапор Опис WS_BORDER У вікна є тонка обмежуюча рамка WS_CAPTION WS_BORDER | WS_DLGF

Стилі діалогового вікна
Прапор Ефект DS_ABSALIGN Позиціювати діалогове вікно щодо лівого верхнього кута екрана DS_SYSMODA

Таблиця 7.5
Стилі вікон класу "кнопки" Стиль Опис BS_3STATE Створити прапорець, що має три стани

Варіант № 3
Головне меню містить три групи команд: · Головне меню містить розділ "Фігури" з іменами геометричних фігур: коло, квадрат, трикутник, прямокутник і шестикутник. При виборі назви

Варіант № 11
Головне меню містить три групи команд: · Розділ "Файл" головного меню містить рядка "Створити", "Відкрити", "Демо-версiя" й "Вихід". При в

Варіант № 13
Головне меню містить три групи команд: · Робочу область вікна додатка повністю займає тимчасове вікно з порожнім головним меню. Головне меню вікна додатка із тримає розділ "Файл"

Варіант № 17
Головне меню містить три групи команд: · Головне меню містить розділ "Файл" з рядками "Створити", "Відкрити", "Видалити" й "Вихід". При ви

Варіант № 18
Робочу область вікна додатка, повністю займає тимчасове вікно з порожнім головним меню. Головне меню вікна додатка містить розділ "Файл" з рядками "Відкрити" й "Закрити&quo

Варіант № 20
· Тип елемента керування: Combobox. Мінімальне число пунктів меню - 5, максимальне число пунктів меню - 11. · Перша сторінка блокнота містить назви книг, друга - на звання глав обраної кни

Короткі теоретичні відомості й історичний аспект
  Середовище .NET Framework   .NET Framework — центральна частина Visual C++ 2005, як і всіх інших засобів розробки .NET компанії Microsoft. Середовище .NET Fra

Специфіка C++/CLI: фундаментальні типи даних
Фундаментальні типи ISO/ANSI C++ можна використати у своїх програмах C++/CLI, і з арифметичними операціями вони працюють точно так само, як й у рідному C++. Крім того, в C++/CLI визначені два додат

Фундаментальні типи C++/CLI
Фундаментальний тип Розмір (у байтах) Клас значень CLI bool System: -.Boolean

Створення простого керованого консольного додатка.
Для створення консольного додатка на керованому C++ варто виконати наступну послідовність операцій:   1. Запустите на виконання Visual Studio. NET (2005 або більше нової)

Стандартний ввід-вивід
Клас System::Console забезпечує підтримку стандартного вводу-висновку. Метод ReadLine класу System::Console зчитує уведену із клавіатури рядок як текстову. String^ line = Console::ReadLine

Часто використовувані специфікатори формату
Специфікатор формату Опис C або з Виводить значення в грошовому форматі. dабо d Виво

Часто використовувані специфікатори формату
Специфікатор формату Опис C або з Виводить значення в грошовому форматі. dабо d Виво

Дескриптори, що відслідковують
Дескриптори, що відслідковують, (tracking handle) мають подібність із рідними покажчиками C++, однак є й істотні відмінності. Дескриптор зберігає адреса, і адреса, що у ньому втримується, автоматич

Оголошення дескрипторів, що відслідковують
Для специфікації дескриптора типу, необхідно помістити символ : (часто називаний "капелюхом") слідом за ім'ям типу. Наприклад, от як можна оголосити відслідковує дескриптор, що, по імені

Масиви CLR
Масиви CLR відрізняються від масивів рідного C++. Пам'ять для масиву CLR виділяється в керованій купі, але це ще не все. Масиви CLR мають убудовану функціональність, який немає в масивів рідного C+

Багатомірні масиви
У програмах на C++/CLI можна створювати масиви із двома й більше вимірами; максимальна кількість вимірів масиву - 32, чого цілком достатньо в більшості випадків. Кількість вимірів масиву вказується

Багатомірні масиви
У програмах на C++/CLI можна створювати масиви із двома й більше вимірами; максимальна кількість вимірів масиву - 32, чого цілком достатньо в більшості випадків. Кількість вимірів масиву вказується

Варіант 20
В одномірному масиві, що складається з п речовинних елементів, обчислити: o добуток позитивних елементів масиву; o суму елементів масиву, розташованих до мінімального елемента.

Навчальне видання
  Методичні рекомендації до лабораторних робіт з навчальної дисципліни «Основи програмування та алгоритмічні мови» Частина 2 для студентів напряму

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги