Другие языки программирования и технологии
Помогите решить задачу по программированию! Язык - Visual Basic.
Во внешнем файле задан целочисленный двумерный массив а, размерностью m на n. В первой строке файла записано через пробел количество строк m и кол-во столбцов n. В последующих строках m записаны через пробел n элементов, образующих строку массива. Необходимо составить программу, выполняющую считывание данных из файла, отображение исходного массива на форме, его обработку согласно алгоритму и вывод результата на форму и во внешний файл. Во внешний файл помещается сформированный массив С в следующем формате: в первой строке записывается количество элементов массива С, а во второй перечисляются через одинарный пробел элементы массива С. В начале и конце строк пробелы не допускаются. Если массив С пустой (не содержит элементов), во внешний файл выводится слово "Empty" без кавычек. Исходный файл и файл с результатом обработки должны находится в активной директории (там же, где и исполняемый файл). Алгоритм обработки: Переписать в массив С те элементы, индексы которых удовлетворяют условию: М+1<= i+j <= N+1
Dim M, N, A(100, 100), C(10000) As Integer
Private Sub Command1_Click()
F = FreeFile
file = App.Path + "\file.txt"
Open file For Input As F
Input #F, M
Input #F, N
For i = 1 To M
For j = 1 To N
Input #F, stroka 'считываем строку из файла
A(i, j) = Val(stroka) 'переводим в число функцией Val(от англ value
'-т. е. получаем значение) и приравниваем к массиву
k = k + 1 'число элементов массива C
C(k) = A(i, j)
Print A(i, j),
Next j
Print
Next i
Close F
file = App.Path + "\file2.txt"
Open file For Output As F
If k = 0 Then
Print #F, "Empty"
Else
Print #F, CStr(M * N) 'функция CStr не допускает пробелы в начале строк
For i = 1 To k
If i = k Then
Print #F, CStr(C(i)) 'пишем последнее число в файл не допуская пробел в конце
Else
Print #F, C(i); 'пишем строку в файл
End If
Next i
End If
Close F
End Sub
Private Sub Command1_Click()
F = FreeFile
file = App.Path + "\file.txt"
Open file For Input As F
Input #F, M
Input #F, N
For i = 1 To M
For j = 1 To N
Input #F, stroka 'считываем строку из файла
A(i, j) = Val(stroka) 'переводим в число функцией Val(от англ value
'-т. е. получаем значение) и приравниваем к массиву
k = k + 1 'число элементов массива C
C(k) = A(i, j)
Print A(i, j),
Next j
Next i
Close F
file = App.Path + "\file2.txt"
Open file For Output As F
If k = 0 Then
Print #F, "Empty"
Else
Print #F, CStr(M * N) 'функция CStr не допускает пробелы в начале строк
For i = 1 To k
If i = k Then
Print #F, CStr(C(i)) 'пишем последнее число в файл не допуская пробел в конце
Else
Print #F, C(i); 'пишем строку в файл
End If
Next i
End If
Close F
End Sub
массив, кажись так - A(1 To 100, 1 To 100)
хотяяя.. . не помню)
хотяяя.. . не помню)
Бесплатно не хочется даже думать.
Поспорю, на бейсике это решается просто.
Поспорю, на бейсике это решается просто.
ВизуалБейсик не сможит решить такую задачу, он зациклится на первой итерации, и все сломается.
Похожие вопросы
- Помогите решить задачу на программирование!
- Помогите пожалуйста решить задачу по программированию (язык программирования СИ)
- Помогите решить) Задачи по программированию в Паскале
- помогите решить задачу по программированию
- Помогите с задачей по программированию!! ! язык C#
- Помогите с задачей по программированию. Язык С.
- Помогите решить задачи по программированию!!!
- помогите решить задачи по программированию в ПАСКАЛЕ!!!
- Помогите решить задачу по программированию. Дано четырёхзначное число. Найти: а) сумму его цифр; б) произведение его циф
- Помогите решить задачу по программированию, пожалуйста. Найти сумму наименьших значений элементов строк. (вложенные циклы)