Здесь располагается содержимое class "clearfloat" id "рамка"

Курс кружка "Программист"

У р о к и
  1. Этапы решения задач на компьютере. Разработка программы.
  2. *КОНТРОЛЬ*
  3. Понятие алгоритма. Свойства алгоритма.
  4. *КОНТРОЛЬ*
  5. Формы представления алгоритмов. Графический способ записи алгоритмов. Школьный алгоритмический язык.
  6. *КОНТРОЛЬ*
  7. Базовые алгоритмические структуры: базовая структура следование.
  8. *КОНТРОЛЬ*
  9. Базовые алгоритмические структуры: базовая структура ветвление.
  10. *КОНТРОЛЬ*
  11. Базовые алгоритмические структуры: базовая структура ЦИКЛ.
  12. *КОНТРОЛЬ*
  13. Эволюция языков программирования. Классификация языков программирования.
  14. *КОНТРОЛЬ*
  15. Язык Си++. Эволюция языка и его преимущества.
  16. *КОНТРОЛЬ*
  17. Синтаксис языка Си++.
  18. *КОНТРОЛЬ*
  19. Константы и переменные в С++. Преобразование типов данных.
  20. *КОНТРОЛЬ*
  21. Операторы используемые в С++.
  22. *КОНТРОЛЬ*
  23. Некоторые визуальные компоненты С++Builder.
  24. *КОНТРОЛЬ*
    ***Лабораторная работа № 1***
    Создание простого приложения в С++Builder.
  25. Основные константы и математические функции. Команда форматированного вывода строки.
  26. *КОНТРОЛЬ*
    ***Лабораторная работа № 2***
    Создание программы вычисления значения функции.
  27. Условные операторы выбора if.
  28. *КОНТРОЛЬ*
    ***Лабораторная работа № 3***
    Создание программы с разветвленной структурой.
  29. Условный оператор множественного выбора switch. Безусловный переход.
  30. *КОНТРОЛЬ*
    ***Лабораторная работа № 4***
    Создание программы со структурой ВЫБОР.
  31. Оператор цикла for (цикл со счетчиком).
  32. *КОНТРОЛЬ*
    ***Лабораторная работа № 5***
    Создание программы c циклом ДЛЯ.
  33. Операторы цикла с условием. Прерывание цикла.
  34. *КОНТРОЛЬ*
    ***Лабораторная работа № 6***
    Создание программы c циклом ПОКА.
  35. Одномерные массивы. Обработка строк.
  36. *КОНТРОЛЬ*
    ***Лабораторная работа № 7***
    Создание программы обработки строк.
  37. Многомерные массивы.
  38. *КОНТРОЛЬ*
    ***Лабораторная работа № 8***
    Создание программы обработки двумерного массива.
  39. Указатели и ссылки.
  40. *КОНТРОЛЬ*
  41. Функции: объявление, описание и использование.
  42. *КОНТРОЛЬ*
    ***Лабораторная работа № 9***
    Создание и использование функций в C++.
  43. Файлы и потоки. Файловый ввод/вывод с помощью компонентов.
  44. *КОНТРОЛЬ*
    ***Лабораторная работа № 10***
    Работа с файлами с помощью компонентов С++Builder.
  45. Файловый вывод/вывод в двоичном режиме.
  46. *КОНТРОЛЬ*
    ***Лабораторная работа № 11***
    Запись и чтение блоков из двоичного файла (произвольный доступ).

    ***Лабораторная работа № 12***
    Запись, дописывание и чтение потоков из файла.
Дополнения

Лабораторная работа №8

Создание программы обработки двумерного массива.

Цель: Научится создавать программу обработки двумерного массива, на примере задачи подсчета отрицательных чисел и их замены на положительные.
Задача: Создать приложение с формой, которая подсчитывает количество отрицательных чисел и заменяет их на положительные. Организовать функцию выхода из программы.
Порядок выполнения:

Форма 8

  1. Создать проект с формой.
  2. Задать имя формы Name=Form1
  3. Задать надпись в верхней части окна Form1->Caption= “ Обработка двумерного массива”
  4. На форму вынести элемент главного меню, задать пункт Файл-Выход и действие Form1->Close();
  5. На форму вынести элемент Memo: Name= Memo1.
  6. На форму вынести элемент Label: Name= Label1, Caption= “Подсчет отрицательных чисел и их замена на положительные”. Параметры шрифта выбираются на свое усмотрение.
  7. На форму вынести кнопку Button и задать ей имя Button2, надпись “ Вычислить”
  8. Подключить модуль <stdio.h>
  9. На событие OnClick кнопки Button2 записать код:

int Mas[3][4] = {0, 1, 2, 4,
                        -15, 16, 17, -18,
                        -119, 110, -111};
int N=0;
Memo1->Lines->Clear();
char r1[80];
sprintf(r1,"Исходный массив:");
Memo1->Lines->Add(r1);
for (int i = 0; i < 3; i++) {
sprintf(r1," %5d\t %5d\t %5d\t %5d",Mas[i][0],Mas[i][1],Mas[i][2],Mas[i][3]);
Memo1->Lines->Add(r1);
                                                                                                      };
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++)    {
if (Mas[i][j]<0) {Mas[i][j]=-Mas[i][j]; N=N++;}
                                                                                                         };
                                                                                                      };
sprintf(r1,"Обработанный массив:");
Memo1->Lines->Add(r1);
for (int i = 0; i < 3; i++) {
sprintf(r1," %5d\t %5d\t %5d\t %5d",Mas[i][0],Mas[i][1],Mas[i][2],Mas[i][3]);
Memo1->Lines->Add(r1);
                                                                                                      };
Memo1->Lines->Add("Количество отрицательных чисел:");
Memo1->Lines->Add(IntToStr(N));

Пояснения к коду программы:
Подключаемый модуль:
#include <stdio.h>//подключаются функции форматированного вывода sprintf
На кнопку Вычислить:
int Mas[3][4] = {0, 1, 2, 4, 
                                -15, 16, 17, -18,
                                -119, 110, -111}; /*объявляется целочисленный массив Mas с размером 3х4 и задаются значения */
int N=0; //объявляется целочисленная переменная N=0
Memo1->Lines->Clear(); //очистить строки многострочного окна редактирования Memo1
char r1[80];  // объявляется символьный массив r1 с размером 80 элементов
sprintf(r1,"Исходный массив:"); //переменной r1 присваивается строка
Memo1->Lines->Add(r1); /* значение r1 добавляется в многострочное окно редактирования как новая строка */
for (int i = 0; i < 3; i++)  /* открыть цикл в котором переменная  i=0  целого типа увеличивается каждый раз на 1 пока i < 3   */
                                     {      //начало цикла для i
sprintf(r1," %5d\t %5d\t %5d\t %5d",Mas[i][0],Mas[i][1],Mas[i][2],Mas[i][3]);  /* в r1 выводиться с табуляцией элементы строки массива Mas  */
Memo1->Lines->Add(r1); /* значение r1 добавляется в многострочное окно редактирования как новая строка */
                                               };   //конец цикла для j
for (int i = 0; i < 3; i++)   /* открыть цикл в котором переменная  i=0  целого типа увеличивается каждый раз на 1 пока i < 3   */
                                       {   //начало цикла для   i
for (int j = 0; j < 4; j++)  /* открыть цикл в котором переменная  j=0  целого типа увеличивается каждый раз на 1 пока j < 4   */ 
                                               {    //начало цикла для j
if (Mas[i][j]<0) {Mas[i][j]=-Mas[i][j]; N=N++;}  /* если Mas[i][j]<0 то Mas[i][j]=-Mas[i][j]; N=N++
                                                                                                                 };  //конец цикла для  j
                                                                                                              };   //конец цикла для  i
sprintf(r1,"Обработанный массив:");  //переменной r1 присваивается строка
Memo1->Lines->Add(r1);  /* значение r1 добавляется в многострочное окно редактирования как новая строка */
for (int i = 0; i < 3; i++)   /* открыть цикл в котором переменная  i=0  целого типа увеличивается каждый раз на 1 пока i < 3   */
                                         {   //начало цикла для i
sprintf(r1," %5d\t %5d\t %5d\t %5d",Mas[i][0],Mas[i][1],Mas[i][2],Mas[i][3]);  /* в r1 выводиться с табуляцией элементы строки массива Mas  */
Memo1->Lines->Add(r1);  /* значение r1 добавляется в многострочное окно редактирования как новая строка */
                                               };   //конец цикла для i
Memo1->Lines->Add("Количество отрицательных чисел:"); /* символьная строка добавляется в многострочное окно редактирования как новая строка */
Memo1->Lines->Add(IntToStr(N));  /* символьная строка добавляется в многострочное окно редактирования как новая строка */
Главное меню:
Form1->Close();  //закрыть форму Form1 (закрыть программу)

Анимация выполнения работы:

Pr8.exe (10 MБ) Скачать