М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Madi74153
Madi74153
05.04.2021 16:04 •  Информатика

Нужна с qbasic. сможет кто написать програму ? дано 40 чисел. подсчитать количество элементов, не равное нулю.

👇
Ответ:
loooolg
loooolg
05.04.2021
'Microsoft QBASIC 1.0

DIM a(1 TO 40) AS INTEGER
CLS
k = 0
RANDOMIZE TIMER
FOR i = 1 TO 40
  a(i) = INT(10 * RND) - 5
  PRINT a(i);
  IF a(i) = 0 THEN k = k + 1
NEXT i
PRINT
PRINT "Количество нулей="; k

Тестовое решение
-2 -3 -1 -1  1  1  2  1 -5 -4 -3  4 -1 -3  1 -1  2 -4  2  3  2 -5 -2  0 -1  0
 0 -3  2 -4 -5  1  2 -3 -5 -1  2  0  2  4
Количество нулей= 4
4,6(5 оценок)
Открыть все ответы
Ответ:
Думаю, что-то типа того.

#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
    const int n = 100;
    char *C = new char[n];
    int p // позиция
    int l // длина
    int k // повторения

    cout << "String C: ";
    cin >> C;
    cout << "Pos: ";
    cin >> p; p--;
    cout << "Length: ";
    cin >> l;
    cout << "N: ";
    cin >> k;
    char *V = new char[l*k+1];

    if ((p >= 0) && (l > 0) && (k > 0) && ((strlen(C) - p) >= l) && (p <= strlen(C))) //проверка ввода
    {
        __asm
        {
            mov ebx, k;           // количество повторений
            mov edi, V         // адрес приёмника
            m1 : cmp   ebx, 0  // сравнение
                 je   exit1    // если EBX = 0, то переход на exit1
                 mov   ecx, l  // длина строки
                 mov   esi, C  // адрес источника
                 add   esi, p  // с заданной позиции
             m2 :
                mov al, [esi]    //из ESI
                mov [edi], al    // запись в EDI
                inc edi            // EDI+1
                inc esi            // ESI+1
                loop  m2        // цикл EСХ раз
                dec ebx         // EBX-1
                jmp m1             // переход на m1
            exit1 : mov[edi], 0
        }

        cout << "\nV: ";
        cout << V << endl;
    }

    else cout <<  "\nError " << endl;

    system("pause");
}
4,4(53 оценок)
Ответ:
qnorri
qnorri
05.04.2021
//Dev-C++ 5.11 (C)

#include <stdio.h>
#include <stdlib.h>
#include <ctime>
#include <malloc.h>

int main(void)
 {int i,n,*ar1,*ar2,min1,min2,b=1;
 scanf("%d",&n);
 ar1=(int*)malloc(n*sizeof(int));
 ar2=(int*)malloc(n*sizeof(int));
 srand(time(NULL));
 printf("Array 1:\n");
 for(i=0;i<n;i++)
  {ar1[i]=rand()%10;
  printf("%d ",ar1[i]);}
 printf("\n Array 2:\n");
 for(i=0;i<n;i++)
  {ar2[i]=rand()%10;
  printf("%d ",ar2[i]);}
 min1=ar1[0];
 min2=ar2[0];
 for(i=1;i<n;i++)
  {if (min1>ar1[i])
   min1=ar1[i];
  if (min2>ar2[i])
   min2=ar2[i];}
 for(i=0;i<n;i++)
  if (min2==ar2[i])
   {if(i+1==n)
    {printf("Za massivom");
    b=0;}
   else
   ar2[i+1]=min1;
   break;}
 if(b)
  {printf("\n Fin array 2: \n");
  for(i=0;i<n;i++)
   printf("%d ",ar2[i]);}
 free(ar1);
 free(ar2);
 return 0;}

Пример ввода:
3
Пример вывода:
Array 1:
2 0 7
 Array 2:
1 1 2 
Fin array 2:
1 0 2
4,7(84 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ